于 2020年6月9日 GMT+08:00 下午1:43:58, Shiyou Yin <yinshiyou...@loongson.cn> 写到:
>>-----Original Message-----
>>From: jiaxun.y...@flygoat.com [mailto:jiaxun.y...@flygoat.com]
>>Sent: Tuesday, June 9, 2020 2:03 AM
>>To: FFmpeg development discussions and patches; Shiyou Yin; 'FFmpeg 
>>development discussions and
>>patches'
>>Subject: Re: [FFmpeg-devel] [PATCH v4 2/4] libavutils: Add parse_r helper for 
>>MIPS
>>
>>
>>
>>于 2020年6月8日 GMT+08:00 下午4:38:58, Shiyou Yin <yinshiyou...@loongson.cn> 写到:
>>>>-----Original Message-----
>>>>From: ffmpeg-devel-boun...@ffmpeg.org 
>>>>[mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of
>>>>Jiaxun Yang
>>>>Sent: Monday, June 8, 2020 11:30 AM
>>>>To: ffmpeg-devel@ffmpeg.org
>>>>Cc: yinshi...@loongson.cn; Jiaxun Yang
>>>>Subject: [FFmpeg-devel] [PATCH v4 2/4] libavutils: Add parse_r helper for 
>>>>MIPS
>>>>
>>
>>[...]
>>
>>>In inline assembler, we can add asmSymbolicName in Input/ Output Operands, 
>>>format:
>>>[ [asmSymbolicName] ] constraint (cExpression)
>>>[ [asmSymbolicName] ] constraint (cVariableName)
>>
>>Could you expand it?
>>I'm not really sure how that related to our case.
>>
>>I'm trying to use raw opcode in inline assembly and I need
>>this helper to deal with oprands in raw opcode.
>>
>>Thanks!
>>
>
>For the raw opcode case, another proposal for your reference.
>static uint32_t read_cpucfg_2(uint32_t reg)
>{
>    register uint32_t input __asm__ ("t0") = reg;
>    register uint32_t __res __asm__ ("t1") = 0;
>    __asm__ volatile(
>        ".insn                     \n\t"
>        ".word (0xc9084918)         \n\t"
>    );
>    return __res;

Actually this is not always safe.
t0 and t1 might be clobbered by compiler optimization.

>}

I need this helper to ensure the register usage is guarded by
compiler's allocation system.

>

-- 
Jiaxun Yang
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to