operands[1] = GEN_INT (logval);
else
{
- operands[0] = adjust_address (operands[0], SImode, 3 - (logval / 8));
+ operands[0] = adjust_address (operands[0], QImode, 3 - (logval / 8));
operands[1] = GEN_INT (logval % 8);
}
return "bclr %1,%0";
operands[1] = GEN_INT (logval);
else
{
- operands[0] = adjust_address (operands[0], SImode, 3 - (logval / 8));
+ operands[0] = adjust_address (operands[0], QImode, 3 - (logval / 8));
operands[1] = GEN_INT (logval % 8);
}
return "bset %1,%0";
operands[1] = GEN_INT (logval);
else
{
- operands[0] = adjust_address (operands[0], SImode, 3 - (logval / 8));
+ operands[0] = adjust_address (operands[0], QImode, 3 - (logval / 8));
operands[1] = GEN_INT (logval % 8);
}
return "bchg %1,%0";
--- /dev/null
+/* { dg-do compile } */
+/* { do-options "-O1" } */
+
+int x;
+void andsi3(void) { x &= ~(1 << 16); }
+void iorsi3(void) { x |= (1 << 16); }
+void xorsi3(void) { x ^= (1 << 16); }