diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-08-07 11:52:14 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-08-07 11:52:14 +0200 |
commit | 1a98bee8c1e1d0010fb3782a845353e366d23377 (patch) | |
tree | c822b175e943888f6047ae3f1531298c43bc4881 /gcc | |
parent | 80770e9043d9de2cbe49b11349435681dad29130 (diff) | |
download | gcc-1a98bee8c1e1d0010fb3782a845353e366d23377.zip gcc-1a98bee8c1e1d0010fb3782a845353e366d23377.tar.gz gcc-1a98bee8c1e1d0010fb3782a845353e366d23377.tar.bz2 |
x86: correct "length_immediate" in a few cases
When first added explicitly in 3ddffba914b2 ("i386.md
(sse4_1_round<mode>2): Add avx512f alternative"), "*" should not have
been used for the pre-existing alternative. The attribute was plain
missing. Subsequent changes adding more alternatives then generously
extended the bogus pattern.
Apparently something similar happened to the two mmx_pblendvb_* insns.
gcc/
* config/i386/i386.md (sse4_1_round<mode>2): Make
"length_immediate" uniformly 1.
* config/i386/mmx.md (mmx_pblendvb_v8qi): Likewise.
(mmx_pblendvb_<mode>): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.md | 2 | ||||
-rw-r--r-- | gcc/config/i386/mmx.md | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 06dcb31..c906d75 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -21600,7 +21600,7 @@ vrndscale<ssemodesuffix>\t{%2, %1, %d0|%d0, %1, %2}" [(set_attr "type" "ssecvt") (set_attr "prefix_extra" "1,1,1,*,*") - (set_attr "length_immediate" "*,*,*,1,1") + (set_attr "length_immediate" "1") (set_attr "prefix" "maybe_vex,maybe_vex,maybe_vex,evex,evex") (set_attr "isa" "noavx512f,noavx512f,noavx512f,avx512f,avx512f") (set_attr "avx_partial_xmm_update" "false,false,true,false,true") diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 7b7ff68..fcb0864 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -3094,7 +3094,7 @@ [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "ssemov") (set_attr "prefix_extra" "1") - (set_attr "length_immediate" "*,*,1") + (set_attr "length_immediate" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "btver2_decode" "vector") (set_attr "mode" "TI")]) @@ -3114,7 +3114,7 @@ [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "ssemov") (set_attr "prefix_extra" "1") - (set_attr "length_immediate" "*,*,1") + (set_attr "length_immediate" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "btver2_decode" "vector") (set_attr "mode" "TI")]) |