Use the capstone library to disassemble precise-output tests, in addition to pretty-printing their vcode.
76 lines
1.1 KiB
Plaintext
76 lines
1.1 KiB
Plaintext
test compile precise-output
|
|
target aarch64
|
|
|
|
function %fn1(i8x16) -> i16x8 {
|
|
block0(v0: i8x16):
|
|
v1 = swiden_low v0
|
|
v2 = swiden_high v0
|
|
v3 = iadd_pairwise v1, v2
|
|
return v3
|
|
}
|
|
|
|
; VCode:
|
|
; block0:
|
|
; saddlp v0.8h, v0.16b
|
|
; ret
|
|
;
|
|
; Disassembled:
|
|
; block0: ; offset 0x0
|
|
; saddlp v0.8h, v0.16b
|
|
; ret
|
|
|
|
function %fn2(i16x8) -> i32x4 {
|
|
block0(v0: i16x8):
|
|
v1 = swiden_low v0
|
|
v2 = swiden_high v0
|
|
v3 = iadd_pairwise v1, v2
|
|
return v3
|
|
}
|
|
|
|
; VCode:
|
|
; block0:
|
|
; saddlp v0.4s, v0.8h
|
|
; ret
|
|
;
|
|
; Disassembled:
|
|
; block0: ; offset 0x0
|
|
; saddlp v0.4s, v0.8h
|
|
; ret
|
|
|
|
function %fn3(i8x16) -> i16x8 {
|
|
block0(v0: i8x16):
|
|
v1 = uwiden_low v0
|
|
v2 = uwiden_high v0
|
|
v3 = iadd_pairwise v1, v2
|
|
return v3
|
|
}
|
|
|
|
; VCode:
|
|
; block0:
|
|
; uaddlp v0.8h, v0.16b
|
|
; ret
|
|
;
|
|
; Disassembled:
|
|
; block0: ; offset 0x0
|
|
; uaddlp v0.8h, v0.16b
|
|
; ret
|
|
|
|
function %fn4(i16x8) -> i32x4 {
|
|
block0(v0: i16x8):
|
|
v1 = uwiden_low v0
|
|
v2 = uwiden_high v0
|
|
v3 = iadd_pairwise v1, v2
|
|
return v3
|
|
}
|
|
|
|
; VCode:
|
|
; block0:
|
|
; uaddlp v0.4s, v0.8h
|
|
; ret
|
|
;
|
|
; Disassembled:
|
|
; block0: ; offset 0x0
|
|
; uaddlp v0.4s, v0.8h
|
|
; ret
|
|
|