Hello!

2014-06-02  Uros Bizjak  <ubiz...@gmail.com>

    PR target/61239
    * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
    GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.

Tested on x86_64-pc-linux-gnu with "make check-gcc
RUNTESTFLAGS='--target_board=unix\{-msse2,-msse4,-mavx,-mavx2\}
dg-torture.exp=vshuf*.c'" and committed to mainline SVN.

Uros.

Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c  (revision 211125)
+++ config/i386/i386.c  (working copy)
@@ -21541,7 +21541,7 @@ ix86_expand_vec_perm (rtx operands[])
          t1 = gen_reg_rtx (V32QImode);
          t2 = gen_reg_rtx (V32QImode);
          t3 = gen_reg_rtx (V32QImode);
-         vt2 = GEN_INT (128);
+         vt2 = GEN_INT (-128);
          for (i = 0; i < 32; i++)
            vec[i] = vt2;
          vt = gen_rtx_CONST_VECTOR (V32QImode, gen_rtvec_v (32, vec));

Reply via email to