]> git.ipfire.org Git - thirdparty/gcc.git/commit
x86: add (adjust) XOP insn attributes
authorJan Beulich <jbeulich@suse.com>
Mon, 7 Aug 2023 09:49:55 +0000 (11:49 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 7 Aug 2023 09:49:55 +0000 (11:49 +0200)
commitf6becc26c9293acdae4369711fe4e668bfc15325
treef67f1938cc7562fbdda678e1662925b0e58f7138
parent7d042d381ea101be46d1f876d10ff8a741b5ba12
x86: add (adjust) XOP insn attributes

Many were lacking "prefix" and "prefix_extra", some had a bogus value of
2 for "prefix_extra" (presumably inherited from their SSE5 counterparts,
which are long gone) and a meaningless "prefix_data16" one. Where
missing, "mode" attributes are also added. (Note that "sse4arg" and
"ssemuladd" ones don't need further adjustment in this regard.)

gcc/

* config/i386/sse.md (xop_phadd<u>bw): Add "prefix",
"prefix_extra", and "mode" attributes.
(xop_phadd<u>bd): Likewise.
(xop_phadd<u>bq): Likewise.
(xop_phadd<u>wd): Likewise.
(xop_phadd<u>wq): Likewise.
(xop_phadd<u>dq): Likewise.
(xop_phsubbw): Likewise.
(xop_phsubwd): Likewise.
(xop_phsubdq): Likewise.
(xop_rotl<mode>3): Add "prefix" and "prefix_extra" attributes.
(xop_rotr<mode>3): Likewise.
(xop_frcz<mode>2): Likewise.
(*xop_vmfrcz<mode>2): Likewise.
(xop_vrotl<mode>3): Add "prefix" attribute. Change
"prefix_extra" to 1.
(xop_sha<mode>3): Likewise.
(xop_shl<mode>3): Likewise.
gcc/config/i386/sse.md