+2005-02-11 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
+
+ PR middle-end/19697
+ 2005-01-30 Roger Sayle <roger@eyesopen.com>
+ * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
+ constant as the second operand and a register as the third.
+
2005-01-29 Alan Modra <amodra@bigpond.net.au>
* unwind-dw2.c (execute_stack_op): Add missing cases for
(define_expand "anddi3"
[(set (match_operand:DI 0 "register_operand" "")
- (and:DI (match_operand:DI 1 "arith_double_operand" "")
+ (and:DI (match_operand:DI 1 "register_operand" "")
(match_operand:DI 2 "arith_double_operand" "")))]
""
"
{
- if (TARGET_64BIT)
- {
- /* One operand must be a register operand. */
- if (!register_operand (operands[1], DImode)
- && !register_operand (operands[2], DImode))
- FAIL;
- }
- else
- {
- /* Both operands must be register operands. */
- if (!register_operand (operands[1], DImode)
- || !register_operand (operands[2], DImode))
- FAIL;
- }
+ /* Both operands must be register operands. */
+ if (!TARGET_64BIT && !register_operand (operands[2], DImode))
+ FAIL;
}")
(define_insn ""
(define_expand "iordi3"
[(set (match_operand:DI 0 "register_operand" "")
- (ior:DI (match_operand:DI 1 "arith_double_operand" "")
+ (ior:DI (match_operand:DI 1 "register_operand" "")
(match_operand:DI 2 "arith_double_operand" "")))]
""
"
{
- if (! register_operand (operands[1], DImode)
- || ! register_operand (operands[2], DImode))
- /* Let GCC break this into word-at-a-time operations. */
+ /* Both operands must be register operands. */
+ if (!TARGET_64BIT && !register_operand (operands[2], DImode))
FAIL;
}")