Commit 51094457 by Jan Beulich Committed by Jan Beulich

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
parent 4000debb
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
result.
(__popcountDI2): Likewise.
......
......@@ -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")])
;; ::::::::::::::::::::
;; ::
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment