Automatic MMX/x87 FPU mode switching
Uros Bizjak
uros@kss-loka.si
Sat Jul 2 07:44:00 GMT 2005
Richard Henderson wrote:
>>(call_insn:HI 14 39 15 0 (set (reg:V8QI 29 mm0)
>> (call (mem:QI (symbol_ref:SI ("aaa") [flags 0x41] <function_decl
>>0x40305360 aaa>) [0 S1 A8])
>> (const_int 0 [0x0]))) 526 {*call_value_0} (insn_list:REG_DEP_TRUE 12
>>(insn_list:REG_DEP_TRUE 1
>>3 (nil)))
>> (expr_list:REG_DEAD (reg:ALLREGS 8 st)
>> (expr_list:REG_DEAD (reg:V8QI 30 mm1)
>> (nil)))
>> (expr_list:REG_DEP_TRUE (use (reg:V8QI 29 mm0))
>> (expr_list:REG_DEP_TRUE (use (reg:V8QI 30 mm1))
>> (expr_list:REG_DEP_TRUE (use (reg:ALLREGS 8 st))
>> (nil)))))
>>
>>...
>>
>>(insn 40 21 36 0 (set (reg:ALLREGS 29 mm0)
>> (unspec_volatile:ALLREGS [
>> (reg:ALLREGS 8 st)
>> ] 5)) 872 {emms} (nil)
>> (expr_list:REG_DEAD (reg:ALLREGS 8 st)
>> (nil)))
>>
>>
>
>Do we have confirmation that (reg:allregs st) is really live here
>between the call and the emms?
>
>
I have put a function call inside an "if", so I was able to see in the
RTL dumps, which registers are live at the exit of BB containing
function call..If I understood EPILOGUE_USES correctly, all %st
registers that were marked live at the exit of basic block should be set
by EPILOGUE_USES after the call_insn?
Uros.
More information about the Gcc-patches
mailing list