[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