diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2016-06-21 14:24:31 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2016-06-21 07:24:31 -0700 |
commit | 9d30e86f965cf7a7ca2405e9e35683b6dc3595e3 (patch) | |
tree | cfaf0d6bd76d1a13e442069ddf9d5a8c1cb13590 /gcc/testsuite | |
parent | 448a7c69f27745f83a4adcbb341b9d6ebc1094fd (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr71549.c | 24 |
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; +} |