[llvm-bugs] [Bug 38999] New: x86 integrated assembler: replace .irp 'symbol' under .altmacro mode

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Sep 19 08:29:21 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=38999

            Bug ID: 38999
           Summary: x86 integrated assembler: replace .irp 'symbol' under
                    .altmacro mode
           Product: new-bugs
           Version: 5.0
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: emaste at freebsd.org
                CC: llvm-bugs at lists.llvm.org
            Blocks: 33405

Found while trying to build the FreeBSD base system entirely with the
integrated assembler. 

One of .altmacro's effects is:

Expression results as strings
    You can write `%expr' to evaluate the expression expr and use the result as
a string. 

Consider the following snippet:

------------------------
.altmacro

.macro m dst,src
  addq %\src,%\dst
.endm

.irp r,r15
  m r,r8
.endr
------------------------

GNU as and gcc assemble this, while Clang (6.0) IAS produces:

<instantiation>:1:10: error: invalid register name
addq %r8,%r
         ^~
<instantiation>:1:1: note: while in macro instantiation
m r,r8
^
macro.s:7:1: note: while in macro instantiation
.irp r,r15
^


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=33405
[Bug 33405] [meta] Using the integrated assembler to build the FreeBSD base
system (kernel + world)
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180919/85924814/attachment.html>


More information about the llvm-bugs mailing list