ia64.md (rotlsi3_internal): Don't split if rotating by 16 bits.

2005-12-05  Jan Beulich  <jbeulich@novell.com>

	* config/ia64/ia64.md (rotlsi3_internal): Don't split if rotating by
	16 bits. Provide insn pattern for this case.

From-SVN: r108047
This commit is contained in:
Jan Beulich 2005-12-05 08:38:20 +00:00 committed by Jan Beulich
parent 4000debbd3
commit 51094457ec
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-12-05 Jan Beulich <jbeulich@novell.com>
* config/ia64/ia64.md (rotlsi3_internal): Don't split if rotating by
16 bits. Provide insn pattern for this case.
2005-12-05 Jan Beulich <jbeulich@novell.com>
* libgcc2.c (__popcountSI2): Don't use wide type for iterator and

View File

@ -4453,8 +4453,8 @@
(rotate:SI (match_operand:SI 1 "gr_register_operand" "r")
(match_operand:SI 2 "shift_32bit_count_operand" "n")))]
""
"#"
"reload_completed"
"mux2 %0 = %1, 0xe1"
"reload_completed && INTVAL (operands[2]) != 16"
[(set (match_dup 3)
(ior:DI (zero_extend:DI (match_dup 1))
(ashift:DI (zero_extend:DI (match_dup 1)) (const_int 32))))
@ -4463,7 +4463,8 @@
{
operands[3] = gen_rtx_REG (DImode, REGNO (operands[0]));
operands[2] = GEN_INT (32 - INTVAL (operands[2]));
})
}
[(set_attr "itanium_class" "mmshf")])
;; ::::::::::::::::::::
;; ::