[coldfire-gnu-discuss] 'mac.l' Assembler Operands Mismatch on 5282
Sam Skuce
sskuce at ati-ia.com
Thu Aug 23 18:51:17 UTC 2007
That worked, thanks. The older assembler actually errors out if you
specify the destination (another reason to upgrade). My bad about
mixing up the assembler and compiler version, I was just thinking of
what I was using at the command line.
-----Original Message-----
From: Nathan Sidwell [mailto:nathan at codesourcery.com]
Sent: Thursday, August 23, 2007 2:05 PM
To: Sam Skuce
Cc: coldfire-gnu-discuss at codesourcery.com
Subject: Re: [coldfire-gnu-discuss] 'mac.l' Assembler Operands Mismatch
on 5282
Sam Skuce wrote:
> I have some code that compiled with no errors under a 3.3.2 version of
> m68k-elf-gcc, that gives me the error "operands mismatch -- statement
> `mac.l %d0,%d7' ignored" with m68k-elf-gcc-4.2.0. I have tried
> compiling it with:
>
> $ m68k-elf-gcc-4.2.0 -c -g -mcpu=5282 -Wall -O3 -fno-builtin
> operandmismatch.S -Wa,-acdhlns=../obj/operandmismatch.lst -o
> ../obj/operandmismatch.o
>
> And
>
> $ m68k-elf-gcc-4.2.0 -c -g -m528x -Wall -O3 -fno-builtin
> operandmismatch.S -Wa,-acdhlns=../obj/operandmismatch.lst -o
> ../obj/operandmismatch.o
the 5282 has an emac, not a mac. You need to specify the accumulator
too. for
instance
mac.l %d0,%d1,%acc0
btw, this is a feature of the assembler, not the compiler. The versions
you
name (3.3.2 and 4.2.0) are compiler versions.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com ::
CodeSourcery
More information about the coldfire-gnu-discuss
mailing list