From: Jan Beulich Date: Mon, 7 Aug 2023 09:43:55 +0000 (+0200) Subject: x86: "prefix_extra" tidying X-Git-Tag: basepoints/gcc-15~7122 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=328796dec4da216c8590a29c84592764bc476154;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index ba376f853785..b2c42830f220 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)))