[llvm] r320042 - [X86] Regenerate RDTSC codegen tests

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 7 05:50:29 PST 2017


Author: rksimon
Date: Thu Dec  7 05:50:29 2017
New Revision: 320042

URL: http://llvm.org/viewvc/llvm-project?rev=320042&view=rev
Log:
[X86] Regenerate RDTSC codegen tests

Modified:
    llvm/trunk/test/CodeGen/X86/rdtsc.ll

Modified: llvm/trunk/test/CodeGen/X86/rdtsc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/rdtsc.ll?rev=320042&r1=320041&r2=320042&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/rdtsc.ll (original)
+++ llvm/trunk/test/CodeGen/X86/rdtsc.ll Thu Dec  7 05:50:29 2017
@@ -1,47 +1,67 @@
-; RUN: llc < %s -mtriple=x86_64-- -mcpu=generic | FileCheck %s
-; RUN: llc < %s -mtriple=i686-- -mcpu=generic | FileCheck %s --check-prefix=CHECK --check-prefix=X86
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mcpu=generic | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=generic | FileCheck %s --check-prefix=X64
 
 ; Verify that we correctly lower ISD::READCYCLECOUNTER.
 
 
 define i64 @test_builtin_readcyclecounter() {
+; X86-LABEL: test_builtin_readcyclecounter:
+; X86:       # %bb.0:
+; X86-NEXT:    rdtsc
+; X86-NEXT:    retl
+;
+; X64-LABEL: test_builtin_readcyclecounter:
+; X64:       # %bb.0:
+; X64-NEXT:    rdtsc
+; X64-NEXT:    shlq $32, %rdx
+; X64-NEXT:    orq %rdx, %rax
+; X64-NEXT:    retq
   %1 = tail call i64 @llvm.readcyclecounter()
   ret i64 %1
 }
-; CHECK-LABEL: test_builtin_readcyclecounter
-; CHECK: rdtsc
-; X86-NOT: shlq
-; X86-NOT: or
-; CHECK-NOT: mov
-; CHECK: ret
-
 
 ; Verify that we correctly lower the Read Cycle Counter GCC x86 builtins
 ; (i.e. RDTSC and RDTSCP).
 
 define i64 @test_builtin_rdtsc() {
+; X86-LABEL: test_builtin_rdtsc:
+; X86:       # %bb.0:
+; X86-NEXT:    rdtsc
+; X86-NEXT:    retl
+;
+; X64-LABEL: test_builtin_rdtsc:
+; X64:       # %bb.0:
+; X64-NEXT:    rdtsc
+; X64-NEXT:    shlq $32, %rdx
+; X64-NEXT:    orq %rdx, %rax
+; X64-NEXT:    retq
   %1 = tail call i64 @llvm.x86.rdtsc()
   ret i64 %1
 }
-; CHECK-LABEL: test_builtin_rdtsc
-; CHECK: rdtsc
-; X86-NOT: shlq
-; X86-NOT: or
-; CHECK-NOT: mov
-; CHECK: ret
-
 
 define i64 @test_builtin_rdtscp(i8* %A) {
+; X86-LABEL: test_builtin_rdtscp:
+; X86:       # %bb.0:
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    .cfi_def_cfa_offset 8
+; X86-NEXT:    .cfi_offset %esi, -8
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X86-NEXT:    rdtscp
+; X86-NEXT:    movl %ecx, (%esi)
+; X86-NEXT:    popl %esi
+; X86-NEXT:    retl
+;
+; X64-LABEL: test_builtin_rdtscp:
+; X64:       # %bb.0:
+; X64-NEXT:    rdtscp
+; X64-NEXT:    movl %ecx, (%rdi)
+; X64-NEXT:    shlq $32, %rdx
+; X64-NEXT:    orq %rdx, %rax
+; X64-NEXT:    retq
   %1 = tail call i64 @llvm.x86.rdtscp(i8* %A)
   ret i64 %1
 }
-; CHECK-LABEL: test_builtin_rdtscp
-; CHECK: rdtscp
-; X86-NOT: shlq
-; CHECK:   movl	%ecx, (%{{[a-z0-9]+}})
-; X86-NOT: shlq
-; CHECK: ret
-
 
 declare i64 @llvm.readcyclecounter()
 declare i64 @llvm.x86.rdtscp(i8*)




More information about the llvm-commits mailing list