Add Intel BMI1 ctz and clz encodings.

This commit is contained in:
Jakob Stoklund Olesen
2017-07-12 16:28:33 -07:00
parent f91d747bda
commit 9dc92eb8b3
4 changed files with 70 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
; binary emission of 32-bit code.
test binemit
isa intel has_sse42 has_popcnt
isa intel haswell
; The binary encodings can be verified with the command:
;
@@ -224,6 +224,16 @@ ebb0:
; asm: popcntl %ecx, %esi
[-,%rsi] v201 = popcnt v1 ; bin: f3 0f b8 f1
; asm: lzcntl %esi, %ecx
[-,%rcx] v202 = clz v2 ; bin: f3 0f bd ce
; asm: lzcntl %ecx, %esi
[-,%rsi] v203 = clz v1 ; bin: f3 0f bd f1
; asm: tzcntl %esi, %ecx
[-,%rcx] v204 = ctz v2 ; bin: f3 0f bc ce
; asm: tzcntl %ecx, %esi
[-,%rsi] v205 = ctz v1 ; bin: f3 0f bc f1
; asm: call foo
call fn0() ; bin: e8 PCRel4(fn0) 00000000