Rename intel to x86.
x86 is the more accurate name, as there are non-Intel x86 implementations. Fixes #263.
This commit is contained in:
94
cranelift/filetests/isa/x86/baseline_clz_ctz_popcount.cton
Normal file
94
cranelift/filetests/isa/x86/baseline_clz_ctz_popcount.cton
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
test compile
|
||||
set is_64bit
|
||||
isa x86 baseline
|
||||
|
||||
|
||||
; clz/ctz on 64 bit operands
|
||||
|
||||
function %i64_clz(i64) -> i64 {
|
||||
ebb0(v10: i64):
|
||||
v11 = clz v10
|
||||
; check: x86_bsr
|
||||
; check: selectif.i64
|
||||
return v11
|
||||
}
|
||||
|
||||
function %i64_ctz(i64) -> i64 {
|
||||
ebb1(v20: i64):
|
||||
v21 = ctz v20
|
||||
; check: x86_bsf
|
||||
; check: selectif.i64
|
||||
return v21
|
||||
}
|
||||
|
||||
|
||||
; clz/ctz on 32 bit operands
|
||||
|
||||
function %i32_clz(i32) -> i32 {
|
||||
ebb0(v10: i32):
|
||||
v11 = clz v10
|
||||
; check: x86_bsr
|
||||
; check: selectif.i32
|
||||
return v11
|
||||
}
|
||||
|
||||
function %i32_ctz(i32) -> i32 {
|
||||
ebb1(v20: i32):
|
||||
v21 = ctz v20
|
||||
; check: x86_bsf
|
||||
; check: selectif.i32
|
||||
return v21
|
||||
}
|
||||
|
||||
|
||||
; popcount on 64 bit operands
|
||||
|
||||
function %i64_popcount(i64) -> i64 {
|
||||
ebb0(v30: i64):
|
||||
v31 = popcnt v30;
|
||||
; check: ushr_imm
|
||||
; check: iconst.i64
|
||||
; check: band
|
||||
; check: isub
|
||||
; check: ushr_imm
|
||||
; check: band
|
||||
; check: isub
|
||||
; check: ushr_imm
|
||||
; check: band
|
||||
; check: isub
|
||||
; check: ushr_imm
|
||||
; check: iadd
|
||||
; check: iconst.i64
|
||||
; check: band
|
||||
; check: iconst.i64
|
||||
; check: imul
|
||||
; check: ushr_imm
|
||||
return v31;
|
||||
}
|
||||
|
||||
|
||||
; popcount on 32 bit operands
|
||||
|
||||
function %i32_popcount(i32) -> i32 {
|
||||
ebb0(v40: i32):
|
||||
v41 = popcnt v40;
|
||||
; check: ushr_imm
|
||||
; check: iconst.i32
|
||||
; check: band
|
||||
; check: isub
|
||||
; check: ushr_imm
|
||||
; check: band
|
||||
; check: isub
|
||||
; check: ushr_imm
|
||||
; check: band
|
||||
; check: isub
|
||||
; check: ushr_imm
|
||||
; check: iadd
|
||||
; check: iconst.i32
|
||||
; check: band
|
||||
; check: iconst.i32
|
||||
; check: imul
|
||||
; check: ushr_imm
|
||||
return v41;
|
||||
}
|
||||
Reference in New Issue
Block a user