diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/clzero.ll | 23 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/X86/x86-32.txt | 3 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-32.s | 8 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-64.s | 8 |
4 files changed, 42 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/clzero.ll b/llvm/test/CodeGen/X86/clzero.ll new file mode 100644 index 00000000000..f15d4deedef --- /dev/null +++ b/llvm/test/CodeGen/X86/clzero.ll @@ -0,0 +1,23 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=x86_64-linux -mattr=+clzero | FileCheck %s --check-prefix=X64 +; RUN: llc < %s -mtriple=i386-pc-linux -mattr=+clzero | FileCheck %s --check-prefix=X32 + +define void @foo(i8* %p) #0 { +; X64-LABEL: foo: +; X64: # BB#0: # %entry +; X64-NEXT: leaq (%rdi), %rax +; X64-NEXT: clzero +; X64-NEXT: retq +; +; X32-LABEL: foo: +; X32: # BB#0: # %entry +; X32-NEXT: movl {{[0-9]+}}(%esp), %eax +; X32-NEXT: leal (%eax), %eax +; X32-NEXT: clzero +; X32-NEXT: retl +entry: + tail call void @llvm.x86.clzero(i8* %p) #1 + ret void +} + +declare void @llvm.x86.clzero(i8*) #1 diff --git a/llvm/test/MC/Disassembler/X86/x86-32.txt b/llvm/test/MC/Disassembler/X86/x86-32.txt index 01d21c5d0fc..9dd49e51d91 100644 --- a/llvm/test/MC/Disassembler/X86/x86-32.txt +++ b/llvm/test/MC/Disassembler/X86/x86-32.txt @@ -129,6 +129,9 @@ # CHECK: invlpga 0x0f 0x01 0xdf +# CHECK: clzero +0x0f,0x01,0xfc + # CHECK: movl $0, -4(%ebp) 0xc7 0x45 0xfc 0x00 0x00 0x00 0x00 diff --git a/llvm/test/MC/X86/x86-32.s b/llvm/test/MC/X86/x86-32.s index c05cf41d91e..f3633dcffef 100644 --- a/llvm/test/MC/X86/x86-32.s +++ b/llvm/test/MC/X86/x86-32.s @@ -444,6 +444,14 @@ cmovnae %bx,%bx // CHECK: encoding: [0x0f,0x21,0xf8] movl %dr7,%eax +// CHECK: clzero +// CHECK: encoding: [0x0f,0x01,0xfc] + clzero + +// CHECK: clzero +// CHECK: encoding: [0x0f,0x01,0xfc] + clzero %eax + // radr://8017522 // CHECK: wait // CHECK: encoding: [0x9b] diff --git a/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s index 89dc599e04f..a605dbbbd74 100644 --- a/llvm/test/MC/X86/x86-64.s +++ b/llvm/test/MC/X86/x86-64.s @@ -1502,6 +1502,14 @@ vmovq %xmm0, %rax // CHECK: encoding: [0x0f,0x01,0xfb] mwaitx %rax, %rcx, %rbx +// CHECK: clzero +// CHECK: encoding: [0x0f,0x01,0xfc] + clzero + +// CHECK: clzero +// CHECK: encoding: [0x0f,0x01,0xfc] + clzero %rax + // CHECK: movl %r15d, (%r15,%r15) // CHECK: encoding: [0x47,0x89,0x3c,0x3f] movl %r15d, (%r15,%r15) |

