aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-08-07 11:43:55 +0200
committerJan Beulich <jbeulich@suse.com>2023-08-07 11:43:55 +0200
commit328796dec4da216c8590a29c84592764bc476154 (patch)
treea1836df7af5f66dd04182b09e3aa2cc9c6c16833 /gcc
parenta2527a33a7af93c8703bd727cc08f25fbfda90b4 (diff)
downloadgcc-328796dec4da216c8590a29c84592764bc476154.zip
gcc-328796dec4da216c8590a29c84592764bc476154.tar.gz
gcc-328796dec4da216c8590a29c84592764bc476154.tar.bz2
x86: "prefix_extra" tidying
Drop SSE5 leftovers from both its comment and its default calculation. A value of 2 simply cannot occur anymore. Instead extend the comment to mention the use of the attribute in "length_vex", clarifying why "prefix_extra" can actually be meaningful on VEX-encoded insns despite those not having any real prefixes except possibly segment overrides. gcc/ * config/i386/i386.md (prefix_extra): Correct comment. Fold cases yielding 2 into ones yielding 1.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.md8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index ba376f8..b2c4283 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -620,13 +620,11 @@
(const_int 0)))
;; There are also additional prefixes in 3DNOW, SSSE3.
-;; ssemuladd,sse4arg default to 0f24/0f25 and DREX byte,
-;; sseiadd1,ssecvt1 to 0f7a with no DREX byte.
;; 3DNOW has 0f0f prefix, SSSE3 and SSE4_{1,2} 0f38/0f3a.
+;; While generally inapplicable to VEX/XOP/EVEX encodings, "length_vex" uses
+;; the attribute evaluating to zero to know that VEX2 encoding may be usable.
(define_attr "prefix_extra" ""
- (cond [(eq_attr "type" "ssemuladd,sse4arg")
- (const_int 2)
- (eq_attr "type" "sseiadd1,ssecvt1")
+ (cond [(eq_attr "type" "ssemuladd,sse4arg,sseiadd1,ssecvt1")
(const_int 1)
]
(const_int 0)))