Skip to content

ARC llvm unsupported assembly instructions #56732

Open
@mmustafa88

Description

@mmustafa88

llvm support for ARC architecture does not support list of assembly instructions, attached in file: llvm_arc_missing_instructions_sort.

As a sample, I wrote a example.c with two unsupported inline assembly instructions:

int main() {

	asm ("add1	r10, r10, 0x66");
	asm ("bclr	r0,   r2,   0x55");
}

and if you look the objdump below taken via llvm-objdump version 14, it shows "unknown" instructions (attached: example-llvm-objdump) :

00000260 "main":

     260: fc 1c c8 b6  	st.aw	%fp, [%sp,-4]
     264: 0a 23 00 37  	mov	%fp, %sp
     268: 94 22 81 19  	<unknown>
     26c: 10 22 80 0f  	<unknown>`

Whereas, if I use crossng tool to generate the objdump, it is able to disassemble them (attached: example-crossng-objdump):

00000260 "main":

     260:	1cfc b6c8           	        st.aw	fp,[sp,-4]
     264:	230a 3700           	        mov	fp,sp
     268:	2294 1981           	        add1	r10,r10,102
     26c:	2210 0f80 0000 0055             bclr	r0,r2,0x55

arc_example.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions