mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
Fix xxeval predicates (PR 99921).
I noticed that the xxeval built-in function used the altivec_register_operand predicate. Since it takes vsx registers, this might force the register allocate to issue a move when it could use a traditional floating point register. This patch fixes that. 2021-08-13 Michael Meissner <meissner@linux.ibm.com> gcc/ PR target/99921 * config/rs6000/altivec.md (xxeval): Use register_predicate instead of altivec_register_predicate.
This commit is contained in:
@@ -3875,9 +3875,9 @@
|
||||
|
||||
(define_insn "xxeval"
|
||||
[(set (match_operand:V2DI 0 "register_operand" "=wa")
|
||||
(unspec:V2DI [(match_operand:V2DI 1 "altivec_register_operand" "wa")
|
||||
(match_operand:V2DI 2 "altivec_register_operand" "wa")
|
||||
(match_operand:V2DI 3 "altivec_register_operand" "wa")
|
||||
(unspec:V2DI [(match_operand:V2DI 1 "register_operand" "wa")
|
||||
(match_operand:V2DI 2 "register_operand" "wa")
|
||||
(match_operand:V2DI 3 "register_operand" "wa")
|
||||
(match_operand:QI 4 "u8bit_cint_operand" "n")]
|
||||
UNSPEC_XXEVAL))]
|
||||
"TARGET_POWER10"
|
||||
|
||||
Reference in New Issue
Block a user