Include the test file preamble comments when building a filecheck instance for every function in the file. This makes it possible to define common regex variables in the preamble and use these definitions for all the functions.
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
; Test the legalization of i64 arithmetic instructions.
|
|
test legalizer
|
|
isa riscv supports_m=1
|
|
|
|
; regex: V=v\d+
|
|
; regex: VX=vx\d+
|
|
|
|
function bitwise_and(i64, i64) -> i64 {
|
|
ebb0(v1: i64, v2: i64):
|
|
v3 = band v1, v2
|
|
return v3
|
|
}
|
|
; check: $(v1l=$V), $(v1h=$VX) = isplit_lohi $v1
|
|
; check: $(v2l=$V), $(v2h=$VX) = isplit_lohi $v2
|
|
; check: [R#ec
|
|
; sameln: $(v3l=$V) = band $v1l, $v2l
|
|
; check: [R#ec
|
|
; sameln: $(v3h=$V) = band $v1h, $v2h
|
|
; check: $v3 = iconcat_lohi $v3l, $v3h
|
|
|
|
function bitwise_or(i64, i64) -> i64 {
|
|
ebb0(v1: i64, v2: i64):
|
|
v3 = bor v1, v2
|
|
return v3
|
|
}
|
|
; check: $(v1l=$V), $(v1h=$VX) = isplit_lohi $v1
|
|
; check: $(v2l=$V), $(v2h=$VX) = isplit_lohi $v2
|
|
; check: [R#cc
|
|
; sameln: $(v3l=$V) = bor $v1l, $v2l
|
|
; check: [R#cc
|
|
; sameln: $(v3h=$V) = bor $v1h, $v2h
|
|
; check: $v3 = iconcat_lohi $v3l, $v3h
|
|
|
|
function bitwise_xor(i64, i64) -> i64 {
|
|
ebb0(v1: i64, v2: i64):
|
|
v3 = bxor v1, v2
|
|
return v3
|
|
}
|
|
; check: $(v1l=$V), $(v1h=$VX) = isplit_lohi $v1
|
|
; check: $(v2l=$V), $(v2h=$VX) = isplit_lohi $v2
|
|
; check: [R#8c
|
|
; sameln: $(v3l=$V) = bxor $v1l, $v2l
|
|
; check: [R#8c
|
|
; sameln: $(v3h=$V) = bxor $v1h, $v2h
|
|
; check: $v3 = iconcat_lohi $v3l, $v3h
|