mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Instruction scheduling itinerary for Intel Atom.
Adds an instruction itinerary to all x86 instructions, giving each a default latency of 1, using the InstrItinClass IIC_DEFAULT. Sets specific latencies for Atom for the instructions in files X86InstrCMovSetCC.td, X86InstrArithmetic.td, X86InstrControl.td, and X86InstrShiftRotate.td. The Atom latencies for the remainder of the x86 instructions will be set in subsequent patches. Adds a test to verify that the scheduler is working. Also changes the scheduling preference to "Hybrid" for i386 Atom, while leaving x86_64 as ILP. Patch by Preston Gurd! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149558 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
; PR1075
|
||||
; RUN: llc < %s -mtriple=x86_64-apple-darwin -O3 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-apple-darwin -O3 | FileCheck %s
|
||||
|
||||
define float @foo(float %x) nounwind {
|
||||
%tmp1 = fmul float %x, 3.000000e+00
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep lea
|
||||
; RUN: llc < %s -march=x86 -mcpu=generic -mattr=+sse2 | not grep lea
|
||||
|
||||
define float @foo(i32* %x, float* %y, i32 %c) nounwind {
|
||||
entry:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 | grep {(%esp)} | count 2
|
||||
; RUN: llc < %s -march=x86 -mcpu=generic | grep {(%esp)} | count 2
|
||||
; PR1872
|
||||
|
||||
%struct.c34007g__designated___XUB = type { i32, i32, i32, i32 }
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=i386-apple-darwin -asm-verbose=0 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i386-apple-darwin -asm-verbose=0 | FileCheck %s
|
||||
; PR3149
|
||||
; Make sure the copy after inline asm is not coalesced away.
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc -mtriple=x86_64-mingw32 < %s | FileCheck %s
|
||||
; RUN: llc -mcpu=generic -mtriple=x86_64-mingw32 < %s | FileCheck %s
|
||||
; CHECK: subq $40, %rsp
|
||||
; CHECK: movaps %xmm8, (%rsp)
|
||||
; CHECK: movaps %xmm7, 16(%rsp)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc -mtriple=i386-apple-darwin -tailcallopt < %s | FileCheck %s
|
||||
; RUN: llc -mcpu=generic -mtriple=i386-apple-darwin -tailcallopt < %s | FileCheck %s
|
||||
; Check that lowered argumens do not overwrite the return address before it is moved.
|
||||
; Bug 6225
|
||||
;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic | FileCheck %s
|
||||
; PR6941
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||
target triple = "x86_64-apple-darwin10.0.0"
|
||||
|
@@ -1,16 +1,16 @@
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=i686-unknown-linux-gnu -march=x86 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=LINUX-32-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=i686-unknown-linux-gnu -march=x86 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=LINUX-32-PIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-unknown-linux-gnu -march=x86 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=LINUX-32-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-unknown-linux-gnu -march=x86 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=LINUX-32-PIC
|
||||
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=LINUX-64-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=pic -code-model=small | FileCheck %s -check-prefix=LINUX-64-PIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=LINUX-64-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=pic -code-model=small | FileCheck %s -check-prefix=LINUX-64-PIC
|
||||
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=i686-apple-darwin -march=x86 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=DARWIN-32-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=i686-apple-darwin -march=x86 -relocation-model=dynamic-no-pic -code-model=small | FileCheck %s -check-prefix=DARWIN-32-DYNAMIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=i686-apple-darwin -march=x86 -relocation-model=pic -code-model=small | FileCheck %s -check-prefix=DARWIN-32-PIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-apple-darwin -march=x86 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=DARWIN-32-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-apple-darwin -march=x86 -relocation-model=dynamic-no-pic -code-model=small | FileCheck %s -check-prefix=DARWIN-32-DYNAMIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-apple-darwin -march=x86 -relocation-model=pic -code-model=small | FileCheck %s -check-prefix=DARWIN-32-PIC
|
||||
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=DARWIN-64-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=dynamic-no-pic -code-model=small | FileCheck %s -check-prefix=DARWIN-64-DYNAMIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=pic -code-model=small | FileCheck %s -check-prefix=DARWIN-64-PIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=static -code-model=small | FileCheck %s -check-prefix=DARWIN-64-STATIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=dynamic-no-pic -code-model=small | FileCheck %s -check-prefix=DARWIN-64-DYNAMIC
|
||||
; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=pic -code-model=small | FileCheck %s -check-prefix=DARWIN-64-PIC
|
||||
|
||||
@src = external global [131072 x i32]
|
||||
@dst = external global [131072 x i32]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
; RUN: llc < %s -march=x86 | FileCheck %s -check-prefix=X32
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -join-physregs | FileCheck %s -check-prefix=X64
|
||||
; RUN: llc < %s -mtriple=x86_64-win32 -join-physregs | FileCheck %s -check-prefix=X64
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 | FileCheck %s -check-prefix=X32
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -join-physregs | FileCheck %s -check-prefix=X64
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-win32 -join-physregs | FileCheck %s -check-prefix=X64
|
||||
|
||||
; Some of these tests depend on -join-physregs to commute instructions.
|
||||
|
||||
|
28
test/CodeGen/X86/atom-sched.ll
Normal file
28
test/CodeGen/X86/atom-sched.ll
Normal file
@@ -0,0 +1,28 @@
|
||||
; RUN: llc <%s -O2 -mcpu=atom -march=x86 -relocation-model=static | FileCheck -check-prefix=atom %s
|
||||
; RUN: llc <%s -O2 -mcpu=core2 -march=x86 -relocation-model=static | FileCheck %s
|
||||
|
||||
@a = common global i32 0, align 4
|
||||
@b = common global i32 0, align 4
|
||||
@c = common global i32 0, align 4
|
||||
@d = common global i32 0, align 4
|
||||
@e = common global i32 0, align 4
|
||||
@f = common global i32 0, align 4
|
||||
|
||||
define void @func() nounwind uwtable {
|
||||
; atom: imull
|
||||
; atom-NOT: movl
|
||||
; atom: imull
|
||||
; CHECK: imull
|
||||
; CHECK: movl
|
||||
; CHECK: imull
|
||||
entry:
|
||||
%0 = load i32* @b, align 4
|
||||
%1 = load i32* @c, align 4
|
||||
%mul = mul nsw i32 %0, %1
|
||||
store i32 %mul, i32* @a, align 4
|
||||
%2 = load i32* @e, align 4
|
||||
%3 = load i32* @f, align 4
|
||||
%mul1 = mul nsw i32 %2, %3
|
||||
store i32 %mul1, i32* @d, align 4
|
||||
ret void
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 | grep add | not grep 16
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 | grep add | not grep 16
|
||||
|
||||
%struct.W = type { x86_fp80, x86_fp80 }
|
||||
@B = global %struct.W { x86_fp80 0xK4001A000000000000000, x86_fp80 0xK4001C000000000000000 }, align 32
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=i686-pc-linux-gnu -asm-verbose=0 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-pc-linux-gnu -asm-verbose=0 | FileCheck %s
|
||||
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
|
||||
target triple = "i686-pc-linux-gnu"
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
; RUN: llc < %s -march=x86 | not grep lea
|
||||
; RUN: llc < %s -march=x86 | grep {movl %ebp}
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 | not grep lea
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 | grep {movl %ebp}
|
||||
|
||||
declare void @bar(<2 x i64>* %n)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 -x86-asm-syntax=intel | \
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 -x86-asm-syntax=intel | \
|
||||
; RUN: grep {add ESP, 8}
|
||||
|
||||
target triple = "i686-pc-linux-gnu"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc -fast-isel -O0 -mtriple=i386-apple-darwin10 -relocation-model=pic < %s | FileCheck %s
|
||||
; RUN: llc -fast-isel -O0 -mcpu=generic -mtriple=i386-apple-darwin10 -relocation-model=pic < %s | FileCheck %s
|
||||
|
||||
; This should use flds to set the return value.
|
||||
; CHECK: test0:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 | FileCheck %s
|
||||
%struct._obstack_chunk = type { i8*, %struct._obstack_chunk*, [4 x i8] }
|
||||
%struct.obstack = type { i32, %struct._obstack_chunk*, i8*, i8*, i8*, i32, i32, %struct._obstack_chunk* (...)*, void (...)*, i8*, i8 }
|
||||
@stmt_obstack = external global %struct.obstack ; <%struct.obstack*> [#uses=1]
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=i386-apple-darwin | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i386-apple-darwin | FileCheck %s
|
||||
|
||||
; There should be no stack manipulations between the inline asm and ret.
|
||||
; CHECK: test1
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86-64 > %t
|
||||
; RUN: llc < %s -mcpu=generic -march=x86-64 > %t
|
||||
; RUN: not grep and %t
|
||||
; RUN: not grep movz %t
|
||||
; RUN: not grep sar %t
|
||||
|
@@ -1,5 +1,5 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -asm-verbose=false | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=x86_64-win32 -asm-verbose=false | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -asm-verbose=false | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-win32 -asm-verbose=false | FileCheck %s
|
||||
|
||||
; LSR's OptimizeMax should eliminate the select (max).
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 -post-RA-scheduler=false | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 -post-RA-scheduler=false | FileCheck %s
|
||||
; rdar://7226797
|
||||
|
||||
; LLVM should omit the testl and use the flags result from the orl.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=i686-pc-linux-gnu -relocation-model=pic -asm-verbose=false -post-RA-scheduler=false | FileCheck %s -check-prefix=LINUX
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-pc-linux-gnu -relocation-model=pic -asm-verbose=false -post-RA-scheduler=false | FileCheck %s -check-prefix=LINUX
|
||||
|
||||
@ptr = external global i32*
|
||||
@dst = external global i32
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux | FileCheck %s
|
||||
|
||||
; First without noredzone.
|
||||
; CHECK: f0:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86-64 > %t
|
||||
; RUN: llc < %s -mcpu=generic -march=x86-64 > %t
|
||||
; RUN: grep subq %t | count 1
|
||||
; RUN: grep addq %t | count 1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-apple-macosx | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-apple-macosx | FileCheck %s
|
||||
; PR10221
|
||||
|
||||
;; The registers %x and %y must both spill across the finit call.
|
||||
|
@@ -1,7 +1,7 @@
|
||||
; RUN: llc < %s -mtriple=i686-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64
|
||||
; RUN: llc < %s -mtriple=i686-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -segmented-stacks -filetype=obj
|
||||
|
||||
; Just to prevent the alloca from being optimized away
|
||||
declare void @dummy_use(i32*, i32)
|
||||
|
@@ -1,23 +1,23 @@
|
||||
; RUN: llc < %s -mtriple=i686-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32-Linux
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64-Linux
|
||||
; RUN: llc < %s -mtriple=i686-darwin -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32-Darwin
|
||||
; RUN: llc < %s -mtriple=x86_64-darwin -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64-Darwin
|
||||
; RUN: llc < %s -mtriple=i686-mingw32 -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32-MinGW
|
||||
; RUN: llc < %s -mtriple=x86_64-freebsd -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64-FreeBSD
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32-Linux
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64-Linux
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-darwin -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32-Darwin
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-darwin -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64-Darwin
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-mingw32 -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X32-MinGW
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-freebsd -segmented-stacks -verify-machineinstrs | FileCheck %s -check-prefix=X64-FreeBSD
|
||||
|
||||
; We used to crash with filetype=obj
|
||||
; RUN: llc < %s -mtriple=i686-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mtriple=i686-darwin -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mtriple=x86_64-darwin -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mtriple=i686-mingw32 -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mtriple=x86_64-freebsd -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-darwin -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-darwin -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-mingw32 -segmented-stacks -filetype=obj
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-freebsd -segmented-stacks -filetype=obj
|
||||
|
||||
; RUN: not llc < %s -mtriple=x86_64-solaris -segmented-stacks 2> %t.log
|
||||
; RUN: not llc < %s -mcpu=generic -mtriple=x86_64-solaris -segmented-stacks 2> %t.log
|
||||
; RUN: FileCheck %s -input-file=%t.log -check-prefix=X64-Solaris
|
||||
; RUN: not llc < %s -mtriple=x86_64-mingw32 -segmented-stacks 2> %t.log
|
||||
; RUN: not llc < %s -mcpu=generic -mtriple=x86_64-mingw32 -segmented-stacks 2> %t.log
|
||||
; RUN: FileCheck %s -input-file=%t.log -check-prefix=X64-MinGW
|
||||
; RUN: not llc < %s -mtriple=i686-freebsd -segmented-stacks 2> %t.log
|
||||
; RUN: not llc < %s -mcpu=generic -mtriple=i686-freebsd -segmented-stacks 2> %t.log
|
||||
; RUN: FileCheck %s -input-file=%t.log -check-prefix=X32-FreeBSD
|
||||
|
||||
; X64-Solaris: Segmented stacks not supported on this platform
|
||||
|
@@ -1,9 +1,9 @@
|
||||
; RUN: llc < %s -mtriple=i386-linux | FileCheck %s -check-prefix=LINUX-I386
|
||||
; RUN: llc < %s -mtriple=i386-netbsd | FileCheck %s -check-prefix=NETBSD-I386
|
||||
; RUN: llc < %s -mtriple=i686-apple-darwin8 | FileCheck %s -check-prefix=DARWIN-I386
|
||||
; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefix=LINUX-X86_64
|
||||
; RUN: llc < %s -mtriple=x86_64-netbsd | FileCheck %s -check-prefix=NETBSD-X86_64
|
||||
; RUN: llc < %s -mtriple=x86_64-apple-darwin8 | FileCheck %s -check-prefix=DARWIN-X86_64
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i386-linux | FileCheck %s -check-prefix=LINUX-I386
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i386-netbsd | FileCheck %s -check-prefix=NETBSD-I386
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=i686-apple-darwin8 | FileCheck %s -check-prefix=DARWIN-I386
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux | FileCheck %s -check-prefix=LINUX-X86_64
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-netbsd | FileCheck %s -check-prefix=NETBSD-X86_64
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-apple-darwin8 | FileCheck %s -check-prefix=DARWIN-X86_64
|
||||
|
||||
define i32 @test() nounwind {
|
||||
entry:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-linux -tailcallopt | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -tailcallopt | FileCheck %s
|
||||
|
||||
; FIXME: Win64 does not support byval.
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
; RUN: llc < %s -tailcallopt -mtriple=x86_64-linux -post-RA-scheduler=true | FileCheck %s
|
||||
; RUN: llc < %s -tailcallopt -mtriple=x86_64-win32 -post-RA-scheduler=true | FileCheck %s
|
||||
; RUN: llc < %s -tailcallopt -mcpu=generic -mtriple=x86_64-linux -post-RA-scheduler=true | FileCheck %s
|
||||
; RUN: llc < %s -tailcallopt -mcpu=generic -mtriple=x86_64-win32 -post-RA-scheduler=true | FileCheck %s
|
||||
|
||||
; FIXME: Redundant unused stack allocation could be eliminated.
|
||||
; CHECK: subq ${{24|72|80}}, %rsp
|
||||
|
@@ -5,7 +5,7 @@
|
||||
;; allocator turns the shift into an LEA. This also occurs for ADD.
|
||||
|
||||
; Check that the shift gets turned into an LEA.
|
||||
; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-apple-darwin | FileCheck %s
|
||||
|
||||
@G = external global i32
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc -march=x86 -mattr=+sse < %s | FileCheck %s
|
||||
; RUN: llc -mcpu=generic -march=x86 -mattr=+sse < %s | FileCheck %s
|
||||
; CHECK: divss
|
||||
; CHECK: divps
|
||||
; CHECK: divps
|
||||
|
@@ -1,6 +1,6 @@
|
||||
; RUN: llc < %s -march=x86 -mattr=+sse2 -mtriple=i686-apple-darwin8 | \
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse2 -mtriple=i686-apple-darwin8 | \
|
||||
; RUN: grep {subl.*60}
|
||||
; RUN: llc < %s -march=x86 -mattr=+sse2 -mtriple=i686-apple-darwin8 | \
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse2 -mtriple=i686-apple-darwin8 | \
|
||||
; RUN: grep {movaps.*32}
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 -mattr=+sse42 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse42 | FileCheck %s
|
||||
|
||||
define void @update(<3 x i8>* %dst, <3 x i8>* %src, i32 %n) nounwind {
|
||||
entry:
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 -mattr=+sse42 -post-RA-scheduler=true | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse42 -post-RA-scheduler=true | FileCheck %s
|
||||
; CHECK: incl
|
||||
; CHECK: incl
|
||||
; CHECK: incl
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -o - -march=x86-64 -mattr=+sse42 | FileCheck %s
|
||||
; RUN: llc < %s -o - -mcpu=generic -march=x86-64 -mattr=+sse42 | FileCheck %s
|
||||
|
||||
; Test based on pr5626 to load/store
|
||||
;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
; RUN: llc < %s -join-physregs -mtriple=x86_64-mingw32 | FileCheck %s -check-prefix=M64
|
||||
; RUN: llc < %s -join-physregs -mtriple=x86_64-win32 | FileCheck %s -check-prefix=W64
|
||||
; RUN: llc < %s -join-physregs -mtriple=x86_64-win32-macho | FileCheck %s -check-prefix=EFI
|
||||
; RUN: llc < %s -join-physregs -mcpu=generic -mtriple=x86_64-mingw32 | FileCheck %s -check-prefix=M64
|
||||
; RUN: llc < %s -join-physregs -mcpu=generic -mtriple=x86_64-win32 | FileCheck %s -check-prefix=W64
|
||||
; RUN: llc < %s -join-physregs -mcpu=generic -mtriple=x86_64-win32-macho | FileCheck %s -check-prefix=EFI
|
||||
; PR8777
|
||||
; PR8778
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-win32 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -mtriple=x86_64-pc-win32 | FileCheck %s
|
||||
|
||||
; Verify that the var arg parameters which are passed in registers are stored
|
||||
; in home stack slots allocated by the caller and that AP is correctly
|
||||
|
@@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -march=x86 | FileCheck %s
|
||||
; RUN: llc < %s -mcpu=generic -march=x86 | FileCheck %s
|
||||
|
||||
;; Simple case
|
||||
define i32 @test1(i8 %x) nounwind readnone {
|
||||
|
Reference in New Issue
Block a user