diff options
author | J"orn Rennecke <joern.rennecke@superh.com> | 2002-10-11 11:36:21 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2002-10-11 12:36:21 +0100 |
commit | 750afc12b3b52eaa1082f95b486fd5314e64ff5d (patch) | |
tree | 21bd6c6042625fb76eb10a59ade5a832cd3e509c /gcc | |
parent | 0488fa7c8f0e7d014cdfdeb0ddac6f9ffc235db6 (diff) | |
download | gcc-750afc12b3b52eaa1082f95b486fd5314e64ff5d.zip gcc-750afc12b3b52eaa1082f95b486fd5314e64ff5d.tar.gz gcc-750afc12b3b52eaa1082f95b486fd5314e64ff5d.tar.bz2 |
sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI register for mperm_w operation.
* sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
register for mperm_w operation.
From-SVN: r58051
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2c29c5..8330920 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 11 12:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com> + + * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI + register for mperm_w operation. + Fri Oct 11 10:56:17 2002 J"orn Rennecke <joern.rennecke@superh.com> * emit-rtl.c (gen_lowpart_common): When asked to make a vector from diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 2c02ee3..a271709 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -9160,7 +9160,11 @@ if (unit_size > 2) operands[2] = gen_mshflo_l (operands[0], operands[0], operands[0]); else - operands[2] = gen_mperm_w0 (operands[0], operands[0]); + { + if (unit_size < 2) + operands[0] = gen_rtx_REG (V4HImode, true_regnum (operands[0])); + operands[2] = gen_mperm_w0 (operands[0], operands[0]); + } operands[0] = gen_rtx_REG (DImode, true_regnum (operands[0])); operands[1] = XVECEXP (operands[1], 0, 0); if (unit_size < 2) |