mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-06 22:51:36 +08:00
sse.md (FMAMODEM): New mode iterator.
* config/i386/sse.md (FMAMODEM): New mode iterator. (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM mode iterator. Do not use TARGET_SSE_MATH in insn constraint. From-SVN: r195896
This commit is contained in:
parent
2480f2ca88
commit
19c5f6e600
@ -1,3 +1,9 @@
|
||||
2013-02-08 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/sse.md (FMAMODEM): New mode iterator.
|
||||
(fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
|
||||
mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
|
||||
|
||||
2013-02-08 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
|
||||
|
@ -2037,42 +2037,46 @@
|
||||
;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define_mode_iterator FMAMODE [SF DF V4SF V2DF V8SF V4DF])
|
||||
;; The standard names for scalar FMA are only available with SSE math enabled.
|
||||
(define_mode_iterator FMAMODEM [(SF "TARGET_SSE_MATH")
|
||||
(DF "TARGET_SSE_MATH")
|
||||
V4SF V2DF V8SF V4DF])
|
||||
|
||||
;; The standard names for fma is only available with SSE math enabled.
|
||||
(define_expand "fma<mode>4"
|
||||
[(set (match_operand:FMAMODE 0 "register_operand")
|
||||
(fma:FMAMODE
|
||||
(match_operand:FMAMODE 1 "nonimmediate_operand")
|
||||
(match_operand:FMAMODE 2 "nonimmediate_operand")
|
||||
(match_operand:FMAMODE 3 "nonimmediate_operand")))]
|
||||
"(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
|
||||
[(set (match_operand:FMAMODEM 0 "register_operand")
|
||||
(fma:FMAMODEM
|
||||
(match_operand:FMAMODEM 1 "nonimmediate_operand")
|
||||
(match_operand:FMAMODEM 2 "nonimmediate_operand")
|
||||
(match_operand:FMAMODEM 3 "nonimmediate_operand")))]
|
||||
"TARGET_FMA || TARGET_FMA4")
|
||||
|
||||
(define_expand "fms<mode>4"
|
||||
[(set (match_operand:FMAMODE 0 "register_operand")
|
||||
(fma:FMAMODE
|
||||
(match_operand:FMAMODE 1 "nonimmediate_operand")
|
||||
(match_operand:FMAMODE 2 "nonimmediate_operand")
|
||||
(neg:FMAMODE (match_operand:FMAMODE 3 "nonimmediate_operand"))))]
|
||||
"(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
|
||||
[(set (match_operand:FMAMODEM 0 "register_operand")
|
||||
(fma:FMAMODEM
|
||||
(match_operand:FMAMODEM 1 "nonimmediate_operand")
|
||||
(match_operand:FMAMODEM 2 "nonimmediate_operand")
|
||||
(neg:FMAMODEM (match_operand:FMAMODEM 3 "nonimmediate_operand"))))]
|
||||
"TARGET_FMA || TARGET_FMA4")
|
||||
|
||||
(define_expand "fnma<mode>4"
|
||||
[(set (match_operand:FMAMODE 0 "register_operand")
|
||||
(fma:FMAMODE
|
||||
(neg:FMAMODE (match_operand:FMAMODE 1 "nonimmediate_operand"))
|
||||
(match_operand:FMAMODE 2 "nonimmediate_operand")
|
||||
(match_operand:FMAMODE 3 "nonimmediate_operand")))]
|
||||
"(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
|
||||
[(set (match_operand:FMAMODEM 0 "register_operand")
|
||||
(fma:FMAMODEM
|
||||
(neg:FMAMODEM (match_operand:FMAMODEM 1 "nonimmediate_operand"))
|
||||
(match_operand:FMAMODEM 2 "nonimmediate_operand")
|
||||
(match_operand:FMAMODEM 3 "nonimmediate_operand")))]
|
||||
"TARGET_FMA || TARGET_FMA4")
|
||||
|
||||
(define_expand "fnms<mode>4"
|
||||
[(set (match_operand:FMAMODE 0 "register_operand")
|
||||
(fma:FMAMODE
|
||||
(neg:FMAMODE (match_operand:FMAMODE 1 "nonimmediate_operand"))
|
||||
(match_operand:FMAMODE 2 "nonimmediate_operand")
|
||||
(neg:FMAMODE (match_operand:FMAMODE 3 "nonimmediate_operand"))))]
|
||||
"(TARGET_FMA || TARGET_FMA4) && TARGET_SSE_MATH")
|
||||
[(set (match_operand:FMAMODEM 0 "register_operand")
|
||||
(fma:FMAMODEM
|
||||
(neg:FMAMODEM (match_operand:FMAMODEM 1 "nonimmediate_operand"))
|
||||
(match_operand:FMAMODEM 2 "nonimmediate_operand")
|
||||
(neg:FMAMODEM (match_operand:FMAMODEM 3 "nonimmediate_operand"))))]
|
||||
"TARGET_FMA || TARGET_FMA4")
|
||||
|
||||
;; The builtins for intrinsics are not constrained by SSE math enabled.
|
||||
(define_mode_iterator FMAMODE [SF DF V4SF V2DF V8SF V4DF])
|
||||
|
||||
;; The builtin for intrinsics is not constrained by SSE math enabled.
|
||||
(define_expand "fma4i_fmadd_<mode>"
|
||||
[(set (match_operand:FMAMODE 0 "register_operand")
|
||||
(fma:FMAMODE
|
||||
|
@ -1,4 +1,4 @@
|
||||
2013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
2013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||
|
||||
* 20101011-1.c: Add __MICROBLAZE__ exception to set DO_TEST 0
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user