130 lines
1.9 KiB
Plaintext
130 lines
1.9 KiB
Plaintext
test compile precise-output
|
|
set unwind_info=false
|
|
target aarch64
|
|
|
|
function %f1() -> i64x2 {
|
|
block0:
|
|
v0 = iconst.i64 281474976710657
|
|
v1 = splat.i64x2 v0
|
|
return v1
|
|
}
|
|
|
|
; block0:
|
|
; movz x1, #1
|
|
; movk x1, x1, #1, LSL #48
|
|
; dup v0.2d, x1
|
|
; ret
|
|
|
|
function %f2() -> i16x8 {
|
|
block0:
|
|
v0 = iconst.i32 42679
|
|
v1 = ireduce.i16 v0
|
|
v2 = splat.i16x8 v1
|
|
return v2
|
|
}
|
|
|
|
; block0:
|
|
; movz x1, #42679
|
|
; dup v0.8h, w1
|
|
; ret
|
|
|
|
function %f4(i32, i8x16, i8x16) -> i8x16 {
|
|
block0(v0: i32, v1: i8x16, v2: i8x16):
|
|
v3 = select v0, v1, v2
|
|
return v3
|
|
}
|
|
|
|
; block0:
|
|
; subs wzr, w0, wzr
|
|
; vcsel v0.16b, v0.16b, v1.16b, ne (if-then-else diamond)
|
|
; ret
|
|
|
|
function %f5(i64) -> i8x16 {
|
|
block0(v0: i64):
|
|
v1 = load.i8 v0
|
|
v2 = splat.i8x16 v1
|
|
return v2
|
|
}
|
|
|
|
; block0:
|
|
; ld1r { v0.16b }, [x0]
|
|
; ret
|
|
|
|
function %f6(i64, i64) -> i8x16, i8x16 {
|
|
block0(v0: i64, v1: i64):
|
|
v2 = load.i8 v0
|
|
v3 = load.i8 v1
|
|
v4 = splat.i8x16 v2
|
|
v5 = splat.i8x16 v3
|
|
return v4, v5
|
|
}
|
|
|
|
; block0:
|
|
; ld1r { v0.16b }, [x0]
|
|
; ld1r { v1.16b }, [x1]
|
|
; ret
|
|
|
|
function %f7(i64, i64) -> i8x16, i8x16 {
|
|
block0(v0: i64, v1: i64):
|
|
v2 = load.i8 v0
|
|
v3 = load.i8 v1
|
|
v4 = splat.i8x16 v3
|
|
v5 = splat.i8x16 v2
|
|
return v4, v5
|
|
}
|
|
|
|
; block0:
|
|
; ldrb w5, [x0]
|
|
; ld1r { v0.16b }, [x1]
|
|
; dup v1.16b, w5
|
|
; ret
|
|
|
|
function %f8(i64, i64) -> i8x16, i8x16 {
|
|
block0(v0: i64, v1: i64):
|
|
v2 = load.i8 v0
|
|
v3 = splat.i8x16 v2
|
|
v4 = splat.i8x16 v2
|
|
return v3, v4
|
|
}
|
|
|
|
; block0:
|
|
; ldrb w5, [x0]
|
|
; dup v0.16b, w5
|
|
; dup v1.16b, w5
|
|
; ret
|
|
|
|
function %f9() -> i32x2 {
|
|
block0:
|
|
v0 = iconst.i32 4278190335
|
|
v1 = splat.i32x2 v0
|
|
return v1
|
|
}
|
|
|
|
; block0:
|
|
; movi v1.2d, #18374687579166474495
|
|
; fmov d0, d1
|
|
; ret
|
|
|
|
function %f10() -> i32x4 {
|
|
block0:
|
|
v0 = iconst.i32 4293918720
|
|
v1 = splat.i32x4 v0
|
|
return v1
|
|
}
|
|
|
|
; block0:
|
|
; mvni v0.4s, #15, MSL #16
|
|
; ret
|
|
|
|
function %f11() -> f32x4 {
|
|
block0:
|
|
v0 = f32const 0x1.5
|
|
v1 = splat.f32x4 v0
|
|
return v1
|
|
}
|
|
|
|
; block0:
|
|
; fmov v0.4s, #1.3125
|
|
; ret
|
|
|