patch for V8QI load splitting applied to sh.md
Joern Rennecke
joern.rennecke@superh.com
Fri Oct 11 04:46:00 GMT 2002
--
--------------------------
SuperH (UK) Ltd.
2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX
T:+44 1454 465658
-------------- next part --------------
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.
Index: sh.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.md,v
retrieving revision 1.122
diff -p -F^( -r1.122 sh.md
*** sh.md 9 Oct 2002 15:07:19 -0000 1.122
--- sh.md 11 Oct 2002 11:33:53 -0000
*************** (define_split
*** 9160,9166 ****
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]);
operands[0] = gen_rtx_REG (DImode, true_regnum (operands[0]));
operands[1] = XVECEXP (operands[1], 0, 0);
if (unit_size < 2)
--- 9160,9170 ----
if (unit_size > 2)
operands[2] = gen_mshflo_l (operands[0], operands[0], operands[0]);
else
! {
! 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)
More information about the Gcc-patches
mailing list