rs6000: Fix "missing mode" on UNSPEC_TOCSLOT
Currently gen* warn about a missing mode on an UNSPEC_TOCSLOT unspec in some call patterns. Those unspecs are created from rs6000.c, with Pmode always. This patch fixes the patterns to say :P as well. * config/rs6000/rs6000.md (*call_indirect_aix<mode>, *call_value_indirect_aix<mode>, *call_indirect_elfv2<mode>, *call_value_indirect_elfv2<mode>): Add correct mode to the unspec. From-SVN: r253885
This commit is contained in:
parent
1855f81251
commit
d8198d1cd0
2 changed files with 10 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-10-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
|
||||
* config/rs6000/rs6000.md (*call_indirect_aix<mode>,
|
||||
*call_value_indirect_aix<mode>, *call_indirect_elfv2<mode>,
|
||||
*call_value_indirect_elfv2<mode>): Add correct mode to the unspec.
|
||||
|
||||
2017-10-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/82580
|
||||
|
|
|
@ -11157,7 +11157,7 @@
|
|||
[(call (mem:SI (match_operand:P 0 "register_operand" "c,*l"))
|
||||
(match_operand 1 "" "g,g"))
|
||||
(use (match_operand:P 2 "memory_operand" "<ptrm>,<ptrm>"))
|
||||
(set (reg:P TOC_REGNUM) (unspec [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(clobber (reg:P LR_REGNO))]
|
||||
"DEFAULT_ABI == ABI_AIX"
|
||||
"<ptrload> 2,%2\;b%T0l\;<ptrload> 2,%3(1)"
|
||||
|
@ -11169,7 +11169,7 @@
|
|||
(call (mem:SI (match_operand:P 1 "register_operand" "c,*l"))
|
||||
(match_operand 2 "" "g,g")))
|
||||
(use (match_operand:P 3 "memory_operand" "<ptrm>,<ptrm>"))
|
||||
(set (reg:P TOC_REGNUM) (unspec [(match_operand:P 4 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 4 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(clobber (reg:P LR_REGNO))]
|
||||
"DEFAULT_ABI == ABI_AIX"
|
||||
"<ptrload> 2,%3\;b%T1l\;<ptrload> 2,%4(1)"
|
||||
|
@ -11183,7 +11183,7 @@
|
|||
(define_insn "*call_indirect_elfv2<mode>"
|
||||
[(call (mem:SI (match_operand:P 0 "register_operand" "c,*l"))
|
||||
(match_operand 1 "" "g,g"))
|
||||
(set (reg:P TOC_REGNUM) (unspec [(match_operand:P 2 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 2 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(clobber (reg:P LR_REGNO))]
|
||||
"DEFAULT_ABI == ABI_ELFv2"
|
||||
"b%T0l\;<ptrload> 2,%2(1)"
|
||||
|
@ -11194,7 +11194,7 @@
|
|||
[(set (match_operand 0 "" "")
|
||||
(call (mem:SI (match_operand:P 1 "register_operand" "c,*l"))
|
||||
(match_operand 2 "" "g,g")))
|
||||
(set (reg:P TOC_REGNUM) (unspec [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT))
|
||||
(clobber (reg:P LR_REGNO))]
|
||||
"DEFAULT_ABI == ABI_ELFv2"
|
||||
"b%T1l\;<ptrload> 2,%3(1)"
|
||||
|
|
Loading…
Add table
Reference in a new issue