Skip to content
Snippets Groups Projects
Commit af4fb245 authored by Hongyu Wang's avatar Hongyu Wang
Browse files

i386: Fix wrong insn generated by shld/shrd ndd split [PR118510]

For shld/shrd_ndd_2 insn, the spiltter outputs wrong pattern that
mixed parallel for clobber and set. Use register_operand as dest
and ajdust output template to fix.

gcc/ChangeLog:

	PR target/118510
	* config/i386/i386.md (*x86_64_shld_ndd_2): Use register_operand
	for operand[0] and adjust the output template to directly
	generate ndd form shld pattern.
	(*x86_shld_ndd_2): Likewise.
	(*x86_64_shrd_ndd_2): Likewise.
	(*x86_shrd_ndd_2): Likewise.

gcc/testsuite/ChangeLog:

	PR target/118510
	* gcc.target/i386/pr118510.c: New test.
parent a7185d9b
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment