rs6000: Remove ALTIVEC_BUILTIN_MASK_FOR_STORE
authorBill Schmidt <wschmidt@linux.ibm.com>
Sat, 29 Aug 2020 01:05:58 +0000 (20:05 -0500)
committerBill Schmidt <wschmidt@linux.ibm.com>
Sat, 29 Aug 2020 01:05:58 +0000 (20:05 -0500)
It turns out that the target hook that this is supposed to satisfy
disappeared in 2004.  Probably time to retire it.

2020-08-28  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
* config/rs6000/rs6000-builtin.def (MASK_FOR_STORE): Remove.
* config/rs6000/rs6000-call.c (rs6000_expand_builtin): Remove
all logic for ALTIVEC_BUILTIN_MASK_FOR_STORE.

gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000-call.c

index aa1b945b06376e75698b5f45992850595f042a13..e91a48ddf5fee83c03a1d4e862bf13c258532785 100644 (file)
@@ -1515,7 +1515,6 @@ BU_ALTIVEC_C (STVLXL,             "stvlxl",           MEM)
 BU_ALTIVEC_C (STVRX,           "stvrx",            MEM)
 BU_ALTIVEC_C (STVRXL,          "stvrxl",           MEM)
 BU_ALTIVEC_X (MASK_FOR_LOAD,   "mask_for_load",    MISC)
-BU_ALTIVEC_X (MASK_FOR_STORE,  "mask_for_store",   MISC)
 BU_ALTIVEC_X (VEC_INIT_V4SI,   "vec_init_v4si",    CONST)
 BU_ALTIVEC_X (VEC_INIT_V8HI,   "vec_init_v8hi",    CONST)
 BU_ALTIVEC_X (VEC_INIT_V16QI,  "vec_init_v16qi",   CONST)
index 0e9dc77da9128781848e996ba4b54e68f38c7729..26388762c5fd91f7191d018b122a242e6abe93ff 100644 (file)
@@ -12643,7 +12643,6 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
       }
 
     case ALTIVEC_BUILTIN_MASK_FOR_LOAD:
-    case ALTIVEC_BUILTIN_MASK_FOR_STORE:
       {
        int icode2 = (BYTES_BIG_ENDIAN ? (int) CODE_FOR_altivec_lvsr_direct
                     : (int) CODE_FOR_altivec_lvsl_direct);
@@ -12658,14 +12657,9 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
        gcc_assert (POINTER_TYPE_P (TREE_TYPE (arg)));
        op = expand_expr (arg, NULL_RTX, Pmode, EXPAND_NORMAL);
        addr = memory_address (mode, op);
-       if (fcode == ALTIVEC_BUILTIN_MASK_FOR_STORE)
-         op = addr;
-       else
-         {
-           /* For the load case need to negate the address.  */
-           op = gen_reg_rtx (GET_MODE (addr));
-           emit_insn (gen_rtx_SET (op, gen_rtx_NEG (GET_MODE (addr), addr)));
-         }
+       /* We need to negate the address.  */
+       op = gen_reg_rtx (GET_MODE (addr));
+       emit_insn (gen_rtx_SET (op, gen_rtx_NEG (GET_MODE (addr), addr)));
        op = gen_rtx_MEM (mode, op);
 
        if (target == 0