re PR target/80107 (ICE in final_scan_insn, at final.c:2964)
authorPat Haugen <pthaugen@us.ibm.com>
Fri, 31 Mar 2017 15:59:46 +0000 (15:59 +0000)
committerPat Haugen <pthaugen@gcc.gnu.org>
Fri, 31 Mar 2017 15:59:46 +0000 (15:59 +0000)
PR target/80107
* config/rs6000/rs6000.md (extendhi<mode>2): Add test for
TARGET_VSX_SMALL_INTEGER.
* gfortran.dg/pr80107.f: New.

From-SVN: r246619

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr80107.f [new file with mode: 0644]

index 3fd3b841698832e3ebc5ce36ed48293884d43933..7074e7eee2f861638c8da530a1cde3d12fe4a796 100644 (file)
@@ -1,3 +1,9 @@
+2017-03-31  Pat Haugen  <pthaugen@us.ibm.com>
+
+       PR target/80107
+       * config/rs6000/rs6000.md (extendhi<mode>2): Add test for
+       TARGET_VSX_SMALL_INTEGER.
+
 2017-03-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        * doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
index d1da8042220a92293efc5385e1ff85e0bec85f8e..6e73f9d952486de304de1cea3824f38979dadb8d 100644 (file)
 (define_insn "*extendhi<mode>2"
   [(set (match_operand:EXTHI 0 "gpc_reg_operand" "=r,r,?*wK,?*wK")
        (sign_extend:EXTHI (match_operand:HI 1 "reg_or_mem_operand" "m,r,Z,wK")))]
-  "rs6000_gen_cell_microcode"
+  "rs6000_gen_cell_microcode || TARGET_VSX_SMALL_INTEGER"
   "@
    lha%U1%X1 %0,%1
    extsh %0,%1
index 6e538299c96e33323c547d3eb449ae553d8dd03a..02581a2ca65aa7d351b73adfb4f5e2817f84491d 100644 (file)
@@ -1,3 +1,8 @@
+2017-03-31  Pat Haugen  <pthaugen@us.ibm.com>
+
+       PR target/80107
+       * gfortran.dg/pr80107.f: New.
+
 2017-03-31  Jeff Law  <law@redhat.com>
 
        PR tree-optimization/49498
diff --git a/gcc/testsuite/gfortran.dg/pr80107.f b/gcc/testsuite/gfortran.dg/pr80107.f
new file mode 100644 (file)
index 0000000..541fba8
--- /dev/null
@@ -0,0 +1,6 @@
+! { dg-do compile { target { powerpc*-*-* } } }
+! { dg-options "-O0 -mpower9-dform-vector -mno-gen-cell-microcode" }
+
+      integer(kind=2) j, j2, ja
+      call c_c(CMPLX(j),(1.,0.),'CMPLX(integer(2))')
+      end