summaryrefslogtreecommitdiff
path: root/gcc/config/i386/constraints.md
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-17 06:42:12 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2016-04-17 06:42:12 +0000
commitbd356bb6d247b18723734d4d1d0b32191cfb1a9a (patch)
tree1882cabb94561f964beaa242d722700c4239ab25 /gcc/config/i386/constraints.md
parentc8aed844acdc89884d630c7e3266ecd8d4101847 (diff)
downloadgcc-bd356bb6d247b18723734d4d1d0b32191cfb1a9a.tar.gz
2016-04-17 Basile Starynkevitch <basile@starynkevitch.net>
{{merging with even more of GCC 6, using subversion 1.9 svn merge -r232606:233050 ^/trunk }} [gcc/] 2016-04-17 Basile Starynkevitch <basile@starynkevitch.net> * melt/libmelt-ana-gimple.melt: (gimple_transaction): Use gimple_transaction_label_norm. Not sure that (gccif "6." ...) does what it should... git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@235078 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/constraints.md')
-rw-r--r--gcc/config/i386/constraints.md11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md
index bac9d6668a8..afdc546c065 100644
--- a/gcc/config/i386/constraints.md
+++ b/gcc/config/i386/constraints.md
@@ -152,6 +152,7 @@
;; s Sibcall memory operand, not valid for TARGET_X32
;; w Call memory operand, not valid for TARGET_X32
;; z Constant call address operand.
+;; C SSE constant operand.
(define_constraint "Bf"
"@internal Flags register operand."
@@ -161,7 +162,7 @@
"@internal GOT memory operand."
(match_operand 0 "GOT_memory_operand"))
-(define_constraint "Bm"
+(define_special_memory_constraint "Bm"
"@internal Vector memory operand."
(match_operand 0 "vector_memory_operand"))
@@ -183,6 +184,10 @@
"@internal Constant call address operand."
(match_operand 0 "constant_call_address_operand"))
+(define_constraint "BC"
+ "@internal SSE constant operand."
+ (match_test "standard_sse_constant_p (op)"))
+
;; Integer constant constraints.
(define_constraint "I"
"Integer constant in the range 0 @dots{} 31, for 32-bit shifts."
@@ -233,8 +238,8 @@
;; This can theoretically be any mode's CONST0_RTX.
(define_constraint "C"
- "Standard SSE floating point constant."
- (match_test "standard_sse_constant_p (op)"))
+ "SSE constant zero operand."
+ (match_test "standard_sse_constant_p (op) == 1"))
;; Constant-or-symbol-reference constraints.