diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2016-01-07 12:43:06 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2016-01-07 04:43:06 -0800 |
commit | 4cd9ca92cf8cb9d691a5dbe04de114fc9ab817fc (patch) | |
tree | 076f8017e501ee48e47d9e59842fe038f35ac797 /libcpp/files.c | |
parent | 7e33d4dc9e35aa31ecfde6ed68f8d5e66eb19446 (diff) | |
download | gcc-4cd9ca92cf8cb9d691a5dbe04de114fc9ab817fc.zip gcc-4cd9ca92cf8cb9d691a5dbe04de114fc9ab817fc.tar.gz gcc-4cd9ca92cf8cb9d691a5dbe04de114fc9ab817fc.tar.bz2 |
Add round_nimm_scalar_predicate and use xBm
Add round_nimm_scalar_predicate for scalar SSE integer to floating point
conversions since round_nimm_predicate is for vector operand.
round_constraint can't be used on vector SSE patterns since it is mapped
to "vm". The "xBm" constraint must be used in this case.
gcc/
PR target/69171
* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
Use the "xBm" constraint.
(float<sseintvecmodelower><mode>2<mask_name><round_name):
Likewise.
(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
(sse_cvtsi2ssq<round_name>): Likewise.
(sse_cvtss2si<round_name>): Likewise.
(sse_cvtss2siq<round_name>): Likewise.
(sse2_cvtsi2sdq<round_name>): Likewise.
(sse2_cvtsd2si<round_name>): Likewise.
(sse2_cvtsd2siq<round_name>): Likewise.
* config/i386/subst.md (round_nimm_scalar_predicate): New
predicate.
gcc/testsuite/
PR target/69171
* gcc.target/i386/pr69171-1.c: New test.
* gcc.target/i386/pr69171-2.c: Likewise.
* gcc.target/i386/pr69171-3.c: Likewise.
* gcc.target/i386/pr69171-4.c: Likewise.
* gcc.target/i386/pr69171-5.c: Likewise.
* gcc.target/i386/pr69171-6.c: Likewise.
From-SVN: r232126
Diffstat (limited to 'libcpp/files.c')
0 files changed, 0 insertions, 0 deletions