Hi Andreas,
On Sun, Jul 25, 2021 at 4:24 PM Andreas Schwab <schwab@xxxxxxxxxxxxxx> wrote:
On Jul 25 2021, Geert Uytterhoeven wrote:
Depending on register assignment by the compiler:
{standard input}:3084: Error: operands mismatch -- statement `andl %a1,%d1' ignored
{standard input}:3145: Error: operands mismatch -- statement `orl %a1,%d1' ignored
{standard input}:3195: Error: operands mismatch -- statement `eorl %a1,%d1' ignored
Indeed, the first operand must not be an address register. Fix this by
adjusting the register constraint from "g" (general purpose register) to
"d" (data register).
You should also allow immediate ("i").
Good point.
There is the ASM_DI macro for that, but since CONFIG_RMW_INSNS is never
defined for CONFIG_COLDFIRE, it probably doesn't matter.
As the second operand is a register, not memory, there is no need to
use ASM_DI, and "di" should be fine, right?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds