Commit ef759fd1 by Michael Meissner Committed by Michael Meissner

Use PLI to load up 32-bit SImode constants if -mcpu=future.

2019-12-17  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/rs6000.md (movsi_internal1): Add alternative to
	use PLI to load up 32-bit constants if -mcpu=future.

From-SVN: r279475
parent a50e0388
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
constant can be loaded with PLI if -mcpu=future. constant can be loaded with PLI if -mcpu=future.
* config/rs6000/rs6000.md (movdi_internal64): Add alternative to * config/rs6000/rs6000.md (movdi_internal64): Add alternative to
use PLI to load up 34-bit constants if -mcpu=future. use PLI to load up 34-bit constants if -mcpu=future.
(movsi_internal1): Add alternative to use PLI to load up 32-bit
constants if -mcpu=future.
2019-12-17 Jakub Jelinek <jakub@redhat.com> 2019-12-17 Jakub Jelinek <jakub@redhat.com>
...@@ -6892,7 +6892,7 @@ ...@@ -6892,7 +6892,7 @@
;; MR LA ;; MR LA
;; LWZ LFIWZX LXSIWZX ;; LWZ LFIWZX LXSIWZX
;; STW STFIWX STXSIWX ;; STW STFIWX STXSIWX
;; LI LIS # ;; LI LIS PLI #
;; XXLOR XXSPLTIB 0 XXSPLTIB -1 VSPLTISW ;; XXLOR XXSPLTIB 0 XXSPLTIB -1 VSPLTISW
;; XXLXOR 0 XXLORC -1 P9 const ;; XXLXOR 0 XXLORC -1 P9 const
;; MTVSRWZ MFVSRWZ ;; MTVSRWZ MFVSRWZ
...@@ -6903,7 +6903,7 @@ ...@@ -6903,7 +6903,7 @@
"=r, r, "=r, r,
r, d, v, r, d, v,
m, Z, Z, m, Z, Z,
r, r, r, r, r, r, r,
wa, wa, wa, v, wa, wa, wa, v,
wa, v, v, wa, v, v,
wa, r, wa, r,
...@@ -6912,7 +6912,7 @@ ...@@ -6912,7 +6912,7 @@
"r, U, "r, U,
m, Z, Z, m, Z, Z,
r, d, v, r, d, v,
I, L, n, I, L, eI, n,
wa, O, wM, wB, wa, O, wM, wB,
O, wM, wS, O, wM, wS,
r, wa, r, wa,
...@@ -6930,6 +6930,7 @@ ...@@ -6930,6 +6930,7 @@
stxsiwx %x1,%y0 stxsiwx %x1,%y0
li %0,%1 li %0,%1
lis %0,%v1 lis %0,%v1
li %0,%1
# #
xxlor %x0,%x1,%x1 xxlor %x0,%x1,%x1
xxspltib %x0,0 xxspltib %x0,0
...@@ -6947,7 +6948,7 @@ ...@@ -6947,7 +6948,7 @@
"*, *, "*, *,
load, fpload, fpload, load, fpload, fpload,
store, fpstore, fpstore, store, fpstore, fpstore,
*, *, *, *, *, *, *,
veclogical, vecsimple, vecsimple, vecsimple, veclogical, vecsimple, vecsimple, vecsimple,
veclogical, veclogical, vecsimple, veclogical, veclogical, vecsimple,
mffgpr, mftgpr, mffgpr, mftgpr,
...@@ -6956,7 +6957,7 @@ ...@@ -6956,7 +6957,7 @@
"*, *, "*, *,
*, *, *, *, *, *,
*, *, *, *, *, *,
*, *, 8, *, *, *, 8,
*, *, *, *, *, *, *, *,
*, *, 8, *, *, 8,
*, *, *, *,
...@@ -6965,7 +6966,7 @@ ...@@ -6965,7 +6966,7 @@
"*, *, "*, *,
*, p8v, p8v, *, p8v, p8v,
*, p8v, p8v, *, p8v, p8v,
*, *, *, *, *, fut, *,
p8v, p9v, p9v, p8v, p8v, p9v, p9v, p8v,
p9v, p8v, p9v, p9v, p8v, p9v,
p8v, p8v, p8v, p8v,
...@@ -7120,8 +7121,7 @@ ...@@ -7120,8 +7121,7 @@
(define_split (define_split
[(set (match_operand:SI 0 "gpc_reg_operand") [(set (match_operand:SI 0 "gpc_reg_operand")
(match_operand:SI 1 "const_int_operand"))] (match_operand:SI 1 "const_int_operand"))]
"(unsigned HOST_WIDE_INT) (INTVAL (operands[1]) + 0x8000) >= 0x10000 "num_insns_constant (operands[1], SImode) > 1"
&& (INTVAL (operands[1]) & 0xffff) != 0"
[(set (match_dup 0) [(set (match_dup 0)
(match_dup 2)) (match_dup 2))
(set (match_dup 0) (set (match_dup 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment