aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2022-09-21 16:07:39 +0800
committerliuhongt <hongtao.liu@intel.com>2022-09-22 14:03:33 +0800
commitcbaa0ed34e1429dd9861350532534a85a07d220d (patch)
tree767a99302c6d3a07111715ae8df30e9b3e971f03 /gcc
parent42630dc056ddf2dbe012aa7cc8eee09c5b960102 (diff)
downloadgcc-cbaa0ed34e1429dd9861350532534a85a07d220d.zip
gcc-cbaa0ed34e1429dd9861350532534a85a07d220d.tar.gz
gcc-cbaa0ed34e1429dd9861350532534a85a07d220d.tar.bz2
Fix typo in floorv2sf2, should be register_operand for op1, not vector_operand.
gcc/ChangeLog: PR target/106994 * config/i386/mmx.md (floorv2sf2): Fix typo, use register_operand instead of vector_operand for operands[1]. gcc/testsuite/ChangeLog: * gcc.target/i386/pr106994.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/mmx.md2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr106994.c24
2 files changed, 25 insertions, 1 deletions
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 222a041..c359e2d 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1676,7 +1676,7 @@
(define_expand "floorv2sf2"
[(set (match_operand:V2SF 0 "register_operand")
(unspec:V2SF
- [(match_operand:V2SF 1 "vector_operand")
+ [(match_operand:V2SF 1 "register_operand")
(match_dup 2)]
UNSPEC_ROUND))]
"TARGET_SSE4_1 && !flag_trapping_math
diff --git a/gcc/testsuite/gcc.target/i386/pr106994.c b/gcc/testsuite/gcc.target/i386/pr106994.c
new file mode 100644
index 0000000..0803311
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr106994.c
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-options "-march=skylake -Ofast" } */
+
+typedef struct {
+ float ymin, ymax;
+} rctf;
+
+rctf view2d_map_cur_using_maskUI_view2d_view_ortho_curmasked;
+float view2d_map_cur_using_maskUI_view2d_view_ortho_yofs;
+
+void BLI_rctf_translate();
+void glLoadIdentity();
+
+void
+view2d_map_cur_using_maskUI_view2d_view_ortho() {
+ BLI_rctf_translate(&view2d_map_cur_using_maskUI_view2d_view_ortho_curmasked);
+ view2d_map_cur_using_maskUI_view2d_view_ortho_curmasked.ymin =
+ __builtin_floor(view2d_map_cur_using_maskUI_view2d_view_ortho_curmasked.ymin) -
+ view2d_map_cur_using_maskUI_view2d_view_ortho_yofs;
+ view2d_map_cur_using_maskUI_view2d_view_ortho_curmasked.ymax =
+ __builtin_floor(view2d_map_cur_using_maskUI_view2d_view_ortho_curmasked.ymax) -
+ view2d_map_cur_using_maskUI_view2d_view_ortho_yofs;
+ glLoadIdentity();
+}