aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2016-06-21 14:24:31 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2016-06-21 07:24:31 -0700
commit9d30e86f965cf7a7ca2405e9e35683b6dc3595e3 (patch)
treecfaf0d6bd76d1a13e442069ddf9d5a8c1cb13590 /gcc/testsuite
parent448a7c69f27745f83a4adcbb341b9d6ebc1094fd (diff)
downloadgcc-9d30e86f965cf7a7ca2405e9e35683b6dc3595e3.zip
gcc-9d30e86f965cf7a7ca2405e9e35683b6dc3595e3.tar.gz
gcc-9d30e86f965cf7a7ca2405e9e35683b6dc3595e3.tar.bz2
Convert V1TImode register to TImode in debug insn
TImode register referenced in debug insn can be converted to V1TImode by scalar to vector optimization. After converting a TImode register to V1TImode, we need to check all debug insns on its use chain to convert the V1TImode register to SUBREG TImode. gcc/ 2016-06-21 H.J. Lu <hongjiu.lu@intel.com> Ilya Enkovich <ilya.enkovich@intel.com> PR target/71549 * config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses): New member function to convert V1TImode register to SUBREG TImode in debug insn. (timode_scalar_chain::convert_insn): Call fix_debug_reg_uses after changing register mode to V1TImode. gcc/testsuite/ 2016-06-21 H.J. Lu <hongjiu.lu@intel.com> PR target/71549 * gcc.target/i386/pr71549.c: New test. Co-Authored-By: Ilya Enkovich <ilya.enkovich@intel.com> From-SVN: r237647
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr71549.c24
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0131e53..cfee40b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-06-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/71549
+ * gcc.target/i386/pr71549.c: New test.
+
2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/vadsdu-0.c: Replace
diff --git a/gcc/testsuite/gcc.target/i386/pr71549.c b/gcc/testsuite/gcc.target/i386/pr71549.c
new file mode 100644
index 0000000..8aac891
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr71549.c
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -g" } */
+
+struct S1
+{
+ int f0;
+ int f1;
+ int f2;
+ int:4;
+} a, b;
+
+void
+fn1 (struct S1 p1)
+{
+ a = p1;
+ int c = p1.f0;
+}
+
+int
+main ()
+{
+ fn1 (b);
+ return 0;
+}