]> git.ipfire.org Git - thirdparty/gcc.git/commit
Add round_nimm_scalar_predicate and use xBm
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 7 Jan 2016 12:43:06 +0000 (12:43 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 7 Jan 2016 12:43:06 +0000 (04:43 -0800)
commit4cd9ca92cf8cb9d691a5dbe04de114fc9ab817fc
tree076f8017e501ee48e47d9e59842fe038f35ac797
parent7e33d4dc9e35aa31ecfde6ed68f8d5e66eb19446
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
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/config/i386/subst.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr69171-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr69171-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr69171-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr69171-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr69171-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr69171-6.c [new file with mode: 0644]