altivec.md (define_mode_attr VF_sxddp): Move to vsx.md.
authorCarl Love <carll@gcc.gnu.org>
Sat, 17 Jun 2017 03:14:53 +0000 (03:14 +0000)
committerCarl Love <carll@gcc.gnu.org>
Sat, 17 Jun 2017 03:14:53 +0000 (03:14 +0000)
gcc/ChangeLog:

2017-06-16  Carl Love  <cel@us.ibm.com>

* config/rs6000/altivec.md (define_mode_attr VF_sxddp): Move to vsx.md.
* config/rs6000/vsx.md (define_mode_attr VF_sxddp
define_expand "floate<mode>",
define_expand "floato<mode>"): Add VF_sxddp definition, replace
undefined VFC_inst with VF_sxddp definition

From-SVN: r249337

gcc/config/rs6000/altivec.md
gcc/config/rs6000/vsx.md

index fd1528668c420aafd48d8ed1336e8fadceb6d1c0..25b2768b0f32a839f1c715a918c30a207cf88473 100644 (file)
 ;; versus floating point
 (define_mode_attr VS_sxwsp [(V4SI "sxw") (V4SF "sp")])
 
-;; Mode attribute for vector floate and floato conversions
-(define_mode_attr VF_sxddp [(V2DI "sxd") (V2DF "dp")])
-
 ;; Specific iterator for parity which does not have a byte/half-word form, but
 ;; does have a quad word form
 (define_mode_iterator VParity [V4SI
index 284c87bf355620a859e221526016029c910350dd..7aa6d32e8210e503c3d6c454085e1f5c00f04fc2 100644 (file)
@@ -21,6 +21,9 @@
 ;; Iterator for comparison types
 (define_code_iterator CMP_TEST [eq lt gt unordered])
 
+;; Mode attribute for vector floate and floato conversions
+(define_mode_attr VF_sxddp [(V2DI "sxd") (V2DF "dp")])
+
 ;; Iterator for both scalar and vector floating point types supported by VSX
 (define_mode_iterator VSX_B [DF V4SF V2DF])
 
                 rtx_tmp, rtx_tmp, rtx_val));
     }
   else
-    emit_insn (gen_vsx_xvcv<VFC_inst>sp (operands[0], operands[1]));
+    emit_insn (gen_vsx_xvcv<VF_sxddp>sp (operands[0], operands[1]));
 
   DONE;
 })
   "VECTOR_UNIT_VSX_P (V4SFmode)"
 {
   if (VECTOR_ELT_ORDER_BIG)
-    emit_insn (gen_vsx_xvcv<VFC_inst>sp (operands[0], operands[1]));
+    emit_insn (gen_vsx_xvcv<VF_sxddp>sp (operands[0], operands[1]));
   else
     {
       /* Shift left one word to put odd word correct location */
       rtx rtx_val = GEN_INT (4);
 
       rtx_tmp = gen_reg_rtx (V4SFmode);
-      emit_insn (gen_vsx_xvcv<VFC_inst>sp (rtx_tmp, operands[1]));
+      emit_insn (gen_vsx_xvcv<VF_sxddp>sp (rtx_tmp, operands[1]));
       emit_insn (gen_altivec_vsldoi_v4sf (operands[0],
                 rtx_tmp, rtx_tmp, rtx_val));
     }