[PATCH] microblaze: microblaze.md: Use 'SI' instead of 'VOID' for operand 1 of 'call_value_intern'

Chen Gang gang.chen.5i5j@gmail.com
Thu Aug 14 01:30:00 GMT 2014


Firstly, thank you very much for spending your time resource on the
related 2 patches.

On 8/13/14 23:10, Michael Eager wrote:
> On 07/06/14 03:26, Chen Gang wrote:
>>
>>    * microblaze/mocroblaze.md (call_value_intern): Use 'SI' instead of
>>    'VOID' for operand 1, just like 'call_internal1' has done.
>>
>> The related warning:
>>
>>    ../../gcc/gcc/config/microblaze/microblaze.md:2172: warning: operand 1 missing mode?
>>
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>> ---
>>   gcc/config/microblaze/microblaze.md | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
>> index 2bd5d72..9580221 100644
>> --- a/gcc/config/microblaze/microblaze.md
>> +++ b/gcc/config/microblaze/microblaze.md
>> @@ -2171,7 +2171,7 @@
>>
>>   (define_insn "call_value_intern"
>>     [(set (match_operand:VOID 0 "register_operand" "=d")
>> -        (call (mem (match_operand:VOID 1 "call_insn_operand" "ri"))
>> +        (call (mem (match_operand:SI 1 "call_insn_operand" "ri"))
>>                 (match_operand:SI 2 "" "i")))
>>      (clobber (match_operand:SI 3 "register_operand" "=d"))]
>>     ""
> 
> This patch causes a test suite regression:
> 
> Executing on host: mb-gcc  -fno-diagnostics-show-caret -fdiagnostics-color=never    -O0  -w -c -mno-xl-soft-mul -mxl-barrel-shift -mcpu=v6.00.a   -o calls.o testsuite/gcc.c-torture/compile/calls.c    (timeout = 60)
> pid is 24832 -24832
> testsuite/gcc.c-torture/compile/calls.c: In function 'f1':
> testsuite/gcc.c-torture/compile/calls.c:6:1: error: unrecognizable insn:
> (call_insn 5 2 8 2 (parallel [
>             (set (reg:SI 3 r3)
>                 (call (mem:SI (const_int 0 [0]) [0 MEM[(void * (*<T29e>) (void))0B] S4 A32])
>                     (const_int 24 [0x18])))
>             (clobber (reg:SI 15 r15))
>         ]) testsuite/gcc.c-torture/compile/calls.c:5 -1
>      (nil)
>     (nil))
> testsuite/gcc.c-torture/compile/calls.c:6:1: internal compiler error: in extract_insn, at recog.c:2204
> 0x983018 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
>     /store/Xilinx/repo/fsf/gcc/gcc/rtl-error.c:109
> 0x983041 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
>     /store/Xilinx/repo/fsf/gcc/gcc/rtl-error.c:117
> 0x9539cd extract_insn(rtx_def*)
>     /store/Xilinx/repo/fsf/gcc/gcc/recog.c:2204
> 0x7a5b59 instantiate_virtual_regs_in_insn
>     /store/Xilinx/repo/fsf/gcc/gcc/function.c:1561
> 0x7aaa78 instantiate_virtual_regs
>     /store/Xilinx/repo/fsf/gcc/gcc/function.c:1932
>

OK, thanks, and I shall analyze it, but excuse me, I have to do other
things this week, so hope I can finish it within next week (2014-08-24).
If this time point is too long to bare, please let me know.


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed



More information about the Gcc-patches mailing list