aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2011-08-06 10:15:10 +0200
committerUros Bizjak <uros@gcc.gnu.org>2011-08-06 10:15:10 +0200
commitcd7c6bc5bfb1304b12d36972f4e2037555fd2d89 (patch)
tree4079aee1cabdd31a6875a596edeb6e7bb26222a7
parentb569be8ca62060f697f5a90a7933d880f334ace6 (diff)
downloadgcc-cd7c6bc5bfb1304b12d36972f4e2037555fd2d89.zip
gcc-cd7c6bc5bfb1304b12d36972f4e2037555fd2d89.tar.gz
gcc-cd7c6bc5bfb1304b12d36972f4e2037555fd2d89.tar.bz2
i386.md (ssemodesuffix): Remove V8SI mode.
* config/i386/i386.md (ssemodesuffix): Remove V8SI mode. * config/i386/sse.md (castmode): New mode attribute. (avx_<castmode><avxsizesuffix>_<castmode>): Rename from avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>. From-SVN: r177504
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.md3
-rw-r--r--gcc/config/i386/sse.md5
3 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8ec9d41..4757cf1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ssemodesuffix): Remove V8SI mode.
+ * config/i386/sse.md (castmode): New mode attribute.
+ (avx_<castmode><avxsizesuffix>_<castmode>): Rename from
+ avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>.
+
2011-08-05 Jan Hubicka <jh@suse.cz>
PR middle-end/49494
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 1bea9ee..ee93e71 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -935,8 +935,7 @@
[(SF "ss") (DF "sd")
(V8SF "ps") (V4DF "pd")
(V4SF "ps") (V2DF "pd")
- (V16QI "b") (V8HI "w") (V4SI "d") (V2DI "q")
- (V8SI "si")])
+ (V16QI "b") (V8HI "w") (V4SI "d") (V2DI "q")])
;; SSE vector suffix for floating point modes
(define_mode_attr ssevecmodesuffix [(SF "ps") (DF "pd")])
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 7abee33..5a406c5 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -178,6 +178,9 @@
(define_mode_attr sserotatemax
[(V16QI "7") (V8HI "15") (V4SI "31") (V2DI "63")])
+;; Mapping of mode to cast intrinsic name
+(define_mode_attr castmode [(V8SI "si") (V8SF "ps") (V4DF "pd")])
+
;; Instruction suffix for sign and zero extensions.
(define_code_attr extsuffix [(sign_extend "sx") (zero_extend "zx")])
@@ -10233,7 +10236,7 @@
(set_attr "prefix" "vex")
(set_attr "mode" "<MODE>")])
-(define_insn_and_split "avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>"
+(define_insn_and_split "avx_<castmode><avxsizesuffix>_<castmode>"
[(set (match_operand:AVX256MODE2P 0 "nonimmediate_operand" "=x,m")
(unspec:AVX256MODE2P
[(match_operand:<ssehalfvecmode> 1 "nonimmediate_operand" "xm,x")]