; binary emission of stack address instructions on x86-64. test binemit set opt_level=fastest target x86_64 haswell ; The binary encodings can be verified with the command: ; ; sed -ne 's/^ *; asm: *//p' filetests/isa/x86/stack-addr64.clif | llvm-mc -show-encoding -triple=x86_64 ; function %stack_addr() { ss0 = incoming_arg 8, offset 0 ss1 = incoming_arg 1024, offset -1024 ss2 = incoming_arg 1024, offset -2048 ss3 = incoming_arg 8, offset -2056 ss4 = explicit_slot 8, offset 0 ss5 = explicit_slot 8, offset 1024 ebb0: [-,%rcx] v0 = stack_addr.i64 ss0 ; bin: 48 8d 8c 24 00000808 [-,%rcx] v1 = stack_addr.i64 ss1 ; bin: 48 8d 8c 24 00000408 [-,%rcx] v2 = stack_addr.i64 ss2 ; bin: 48 8d 8c 24 00000008 [-,%rcx] v3 = stack_addr.i64 ss3 ; bin: 48 8d 8c 24 00000000 [-,%rcx] v4 = stack_addr.i64 ss4 ; bin: 48 8d 8c 24 00000808 [-,%rcx] v5 = stack_addr.i64 ss5 ; bin: 48 8d 8c 24 00000c08 [-,%rcx] v20 = stack_addr.i64 ss4+1 ; bin: 48 8d 8c 24 00000809 [-,%rcx] v21 = stack_addr.i64 ss4+2 ; bin: 48 8d 8c 24 0000080a [-,%rcx] v22 = stack_addr.i64 ss4+2048 ; bin: 48 8d 8c 24 00001008 [-,%rcx] v23 = stack_addr.i64 ss4-4096 ; bin: 48 8d 8c 24 fffff808 [-,%r8] v50 = stack_addr.i64 ss0 ; bin: 4c 8d 84 24 00000808 [-,%r8] v51 = stack_addr.i64 ss1 ; bin: 4c 8d 84 24 00000408 [-,%r8] v52 = stack_addr.i64 ss2 ; bin: 4c 8d 84 24 00000008 [-,%r8] v53 = stack_addr.i64 ss3 ; bin: 4c 8d 84 24 00000000 [-,%r8] v54 = stack_addr.i64 ss4 ; bin: 4c 8d 84 24 00000808 [-,%r8] v55 = stack_addr.i64 ss5 ; bin: 4c 8d 84 24 00000c08 [-,%r8] v70 = stack_addr.i64 ss4+1 ; bin: 4c 8d 84 24 00000809 [-,%r8] v71 = stack_addr.i64 ss4+2 ; bin: 4c 8d 84 24 0000080a [-,%r8] v72 = stack_addr.i64 ss4+2048 ; bin: 4c 8d 84 24 00001008 [-,%r8] v73 = stack_addr.i64 ss4-4096 ; bin: 4c 8d 84 24 fffff808 return }