We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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.