x86: "prefix_extra" can't really be "2"

In the three remaining instances separate "prefix_0f" and "prefix_rep"
are what is wanted instead.

gcc/

	* config/i386/i386.md (rd<fsgs>base<mode>): Add "prefix_0f" and
	"prefix_rep". Drop "prefix_extra".
	(wr<fsgs>base<mode>): Likewise.
	(ptwrite<mode>): Likewise.
This commit is contained in:
Jan Beulich 2023-08-07 11:46:44 +02:00
parent 9ac69f2d92
commit 0e877fd1b6

View file

@ -25920,7 +25920,8 @@
"TARGET_64BIT && TARGET_FSGSBASE"
"rd<fsgs>base\t%0"
[(set_attr "type" "other")
(set_attr "prefix_extra" "2")])
(set_attr "prefix_0f" "1")
(set_attr "prefix_rep" "1")])
(define_insn "wr<fsgs>base<mode>"
[(unspec_volatile [(match_operand:SWI48 0 "register_operand" "r")]
@ -25928,7 +25929,8 @@
"TARGET_64BIT && TARGET_FSGSBASE"
"wr<fsgs>base\t%0"
[(set_attr "type" "other")
(set_attr "prefix_extra" "2")])
(set_attr "prefix_0f" "1")
(set_attr "prefix_rep" "1")])
(define_insn "ptwrite<mode>"
[(unspec_volatile [(match_operand:SWI48 0 "nonimmediate_operand" "rm")]
@ -25936,7 +25938,8 @@
"TARGET_PTWRITE"
"ptwrite\t%0"
[(set_attr "type" "other")
(set_attr "prefix_extra" "2")])
(set_attr "prefix_0f" "1")
(set_attr "prefix_rep" "1")])
(define_insn "@rdrand<mode>"
[(set (match_operand:SWI248 0 "register_operand" "=r")