I am a newbie in arm based architecture. I am trying to compile https://github.com/SQISign/sqisign-ec23.git in Raspberry pi. I have already installed all the dependencies( pari and gmp library) related to this project. But while compiling it, I am facing below error. When I compile it in Intel based system, its compiling successfully. I believe its something to do with architecture. Any idea how to fix this? I am using Raspberry pi 4, 2GB RAM
pi@raspberrypi:~/mystuff/sqisign-ec23 $ makeclang src/uint.s -c -o build/p3923/obj/uint.asm.osrc/uint.s:1:1: error: unknown directive.intel_syntax noprefix^src/uint.s:14:5: error: invalid instruction, did you mean: cdp, clz, ldc, ldm, ldr, pld? cld ^src/uint.s:15:5: error: invalid instruction mov rax, rsi ^src/uint.s:16:5: error: invalid instruction stosq ^src/uint.s:17:5: error: invalid instruction, did you mean: eor, orr, ror? xor rax, rax ^src/uint.s:18:9: error: operand must be a register in range [r0, r15] mov rcx, 3 ^src/uint.s:19:5: error: invalid instruction, did you mean: rev? rep stosq ^src/uint.s:20:5: error: invalid instruction, did you mean: rev? ret ^src/uint.s:26:5: error: invalid instruction mov rcx, rsi ^src/uint.s:27:9: error: operand must be a register in range [r0, r15] and rcx, 0x3f ^src/uint.s:28:5: error: invalid instruction, did you mean: asr, lsr, msr, str? shr rsi, 6 ^src/uint.s:29:5: error: invalid instruction mov rax, [rdi + 8*rsi] ^src/uint.s:30:5: error: invalid instruction, did you mean: asr, lsr, msr, str? shr rax, cl ^src/uint.s:31:9: error: operand must be a register in range [r0, r15] and rax, 1 ^src/uint.s:32:5: error: invalid instruction, did you mean: rev? ret ^src/uint.s:38:5: error: invalid instruction mov rax, [rsi + 0] ^src/uint.s:39:9: error: operand must be a register in range [r0, r15] add rax, [rdx + 0] ^src/uint.s:40:10: error: register expected mov [rdi + 0], rax ^<instantiation>:1:1: error: invalid instructionmov rax, [rsi + 8*k]^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:2:13: error: operand must be a register in range [r0, r15] adc rax, [rdx + 8*k] ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:3:14: error: register expected mov [rdi + 8*k], rax ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:5:5: error: invalid instruction mov rax, [rsi + 8*k] ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:6:13: error: operand must be a register in range [r0, r15] adc rax, [rdx + 8*k] ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:7:14: error: register expected mov [rdi + 8*k], rax ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:9:5: error: invalid instruction mov rax, [rsi + 8*k] ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:10:13: error: operand must be a register in range [r0, r15] adc rax, [rdx + 8*k] ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^<instantiation>:11:14: error: register expected mov [rdi + 8*k], rax ^src/uint.s:42:5: note: while in macro instantiation .rept 3 ^src/uint.s:48:5: error: invalid instruction, did you mean: stc, stc2, stcl? setc al ^src/uint.s:49:5: error: invalid instruction, did you mean: mov? movzx rax, al ^src/uint.s:50:5: error: invalid instruction, did you mean: rev? ret ^src/uint.s:55:5: error: invalid instruction mov rax, [rsi + 0] ^src/uint.s:56:9: error: operand must be a register in range [r0, r15] sub rax, [rdx + 0] ^src/uint.s:57:10: error: register expected mov [rdi + 0], rax ^<instantiation>:1:1: error: invalid instructionmov rax, [rsi + 8*k]^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:2:19: error: register expected sbb rax, [rdx + 8*k] ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:3:14: error: register expected mov [rdi + 8*k], rax ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:5:5: error: invalid instruction mov rax, [rsi + 8*k] ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:6:19: error: register expected sbb rax, [rdx + 8*k] ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:7:14: error: register expected mov [rdi + 8*k], rax ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:9:5: error: invalid instruction mov rax, [rsi + 8*k] ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:10:19: error: register expected sbb rax, [rdx + 8*k] ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^<instantiation>:11:14: error: register expected mov [rdi + 8*k], rax ^src/uint.s:59:5: note: while in macro instantiation .rept 3 ^src/uint.s:65:5: error: invalid instruction, did you mean: stc, stc2, stcl? setc al ^src/uint.s:66:5: error: invalid instruction, did you mean: mov? movzx rax, al ^src/uint.s:67:5: error: invalid instruction, did you mean: rev? ret ^src/uint.s:74:21: error: register expected mulx r10, rax, [rsi + 0] ^src/uint.s:75:10: error: register expected mov [rdi + 0], rax ^src/uint.s:77:21: error: register expected mulx r11, rax, [rsi + 8] ^src/uint.s:78:10: error: operand must be a register in range [r0, r15] add rax, r10 ^src/uint.s:79:10: error: register expected mov [rdi + 8], rax ^src/uint.s:81:21: error: register expected mulx r10, rax, [rsi + 16] ^src/uint.s:82:5: error: invalid instruction, did you mean: adc? adcx rax, r11 ^src/uint.s:83:10: error: register expected mov [rdi + 16], rax ^src/uint.s:85:21: error: register expected mulx r11, rax, [rsi + 24] ^src/uint.s:86:5: error: invalid instruction, did you mean: adc? adcx rax, r10 ^src/uint.s:87:10: error: register expected mov [rdi + 24], rax ^src/uint.s:89:5: error: invalid instruction, did you mean: rev? ret ^src/uint.s:94:5: error: invalid instruction, any one of the following would fix this: mov r10, rdx ^src/uint.s:94:5: note: instruction requires: armv6t2 mov r10, rdx ^src/uint.s:94:5: note: instruction requires: thumb2 mov r10, rdx ^src/uint.s:95:9: error: operand must be a register in range [r0, r15] mov rdx, 0 ^src/uint.s:97:5: error: invalid instruction mov rax, [rsi + 24] ^src/uint.s:98:5: error: invalid instruction, did you mean: vdiv? div r10 ^src/uint.s:99:10: error: register expected mov [rdi + 24], rax ^src/uint.s:101:5: error: invalid instruction mov rax, [rsi + 16] ^src/uint.s:102:5: error: invalid instruction, did you mean: vdiv? div r10 ^src/uint.s:103:10: error: register expected mov [rdi + 16], rax ^src/uint.s:105:5: error: invalid instruction mov rax, [rsi + 8] ^src/uint.s:106:5: error: invalid instruction, did you mean: vdiv? div r10 ^src/uint.s:107:10: error: register expected mov [rdi + 8], rax ^src/uint.s:109:5: error: invalid instruction mov rax, [rsi + 0] ^src/uint.s:110:5: error: invalid instruction, did you mean: vdiv? div r10 ^src/uint.s:111:10: error: register expected mov [rdi + 0], rax ^src/uint.s:113:5: error: invalid instruction mov rax, rdx ^src/uint.s:115:5: error: invalid instruction, did you mean: rev? ret ^make: *** [Makefile:40: build/p3923/obj/uint.asm.o] Error 1
Hi there thank you for asking this question. I am going to move your question to the Compilers and Libraries forum. Many thanks.