diff options
author | Michael Meissner <meissner@linux.ibm.com> | 2018-07-13 19:05:02 +0000 |
---|---|---|
committer | Michael Meissner <meissner@linux.ibm.com> | 2018-07-13 19:05:02 +0000 |
commit | 9ee80870edf73bed23f4b1f9195b087a0479de89 (patch) | |
tree | e9343e540fcabb84ad6459914f3d3076b8a77614 | |
parent | afb28dc16a3ad8ae50930bd454950900a1c09f69 (diff) |
checkpointibm/addr
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/addr@262644 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.meissner | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 23 |
2 files changed, 18 insertions, 13 deletions
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner index 3b9c242cdb7..58affe49e31 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,3 +1,11 @@ +2018-07-13 Michael Meissner <meissner@linux.ibm.com> + + * config/rs6000/rs6000.md (large_mov<mode>_loadu_di): Spacing. + (large_mov<mode>_loads_di): Likewise. + (zero extend large address splits): Fix the insn generated. + (sign extend large address splits): Likewise. + (large_extendsfdf): Likewise. + 2018-07-12 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000.md (LADDR_GSTORE): Delete, not currently diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 65303af2476..a83e72662b3 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -735,8 +735,7 @@ (define_insn "*large_mov<mode>_loadu_di" [(set (match_operand:DI 0 "base_reg_operand" "=b") - (zero_extend:DI - (match_operand:QHSI 1 "large_mem_operand" "wC"))) + (zero_extend:DI (match_operand:QHSI 1 "large_mem_operand" "wC"))) (unspec [(const_int 0)] UNSPEC_LADDR_LOAD)] "TARGET_LARGE_ADDRESS && TARGET_POWERPC64" { @@ -750,8 +749,7 @@ (define_insn "*large_mov<mode>_loads_di" [(set (match_operand:DI 0 "base_reg_operand" "=b") - (sign_extend:DI - (match_operand:HSI 1 "large_mem_operand" "wC"))) + (sign_extend:DI (match_operand:HSI 1 "large_mem_operand" "wC"))) (unspec [(const_int 0)] UNSPEC_LADDR_LOAD)] "TARGET_LARGE_ADDRESS && TARGET_POWERPC64" { @@ -929,18 +927,18 @@ (zero_extend:DI (match_operand:QHSI 1 "large_mem_operand")))] "TARGET_LARGE_ADDRESS && TARGET_POWERPC64" - [(set (match_dup 0) - (zero_extend:DI - (unspec:QHSI [(match_dup 1)] UNSPEC_LADDR_LOAD)))]) + [(parallel [(set (match_dup 0) + (zero_extend:DI (match_dup 1))) + (unspec [(const_int 0)] UNSPEC_LADDR_LOAD)])]) (define_split [(set (match_operand:DI 0 "base_reg_operand") (sign_extend:DI (match_operand:HSI 1 "large_mem_operand")))] "TARGET_LARGE_ADDRESS && TARGET_POWERPC64" - [(set (match_dup 0) - (sign_extend:DI - (unspec:HSI [(match_dup 1)] UNSPEC_LADDR_LOAD)))]) + [(parallel [(set (match_dup 0) + (sign_extend:DI (match_dup 1))) + (unspec [(const_int 0)] UNSPEC_LADDR_LOAD)])]) (define_split [(set (match_operand:LADDR 0 "large_mem_operand") @@ -5016,9 +5014,8 @@ (define_insn "large_extendsfdf" [(set (match_operand:DF 0 "gpc_reg_operand" "=d,wb") - (float_extend:DF - (unspec:SF [(match_operand:SF 1 "large_mem_operand" "wC,wC")] - UNSPEC_LADDR_LOAD))) + (float_extend:DF (match_operand:SF 1 "large_mem_operand" "wC,wC"))) + (unspec [(const_int 0)] UNSPEC_LADDR_LOAD) (clobber (match_scratch:DI 2 "=b,b"))] "TARGET_LARGE_ADDRESS && TARGET_POWERPC64 && !HONOR_SNANS (SFmode) && TARGET_P9_FUSION" |