Path: utzoo!telly!philmtl!uunet!bu-cs!lll-winken!brutus.cs.uiuc.edu!wuarchive!cs.utexas.edu!tut.cis.ohio-state.edu!AMES.ARC.NASA.GOV!atari!apratt From: atari!apratt@AMES.ARC.NASA.GOV (Allan Pratt) Newsgroups: gnu.gcc.bug Subject: GAS and floating point Message-ID: <8912132247.AA23147@atari.UUCP> Date: 13 Dec 89 22:47:01 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 20 I found a bug in the m68k-opcodes.h file concerning floating point: the FScc instructions (fseq onward) have the wrong mode for their argument: it should be "$" not "@". "@" is data, including PC-relative. "$" is data-alterable, which doesn't include PC-relative, and is the right mode for these instructions. Since GAS optimizes data references when they're in the text segment into PC-relative references, this can generate the wrong assembly code: label: fseq label This produces an "ftrapeq" instruction, because 'label' became 'pc@label'. While I've got you on the line, I'd like to ask if there's any hope for a Motorola-syntax assembler for 68K. I can add "move.l" as an alias for "movl" pretty easily, but the effective-address syntax still eludes me. ============================================ Opinions expressed above do not necessarily -- Allan Pratt, Atari Corp. reflect those of Atari Corp. or anyone else. ...ames!atari!apratt