1
; RUN: llc -march=x86-64 < %s -pre-RA-sched=list-ilp | FileCheck %s
2
; RUN: llc -march=x86-64 < %s -pre-RA-sched=list-hybrid | FileCheck %s
3
; RUN: llc -march=x86-64 < %s -pre-RA-sched=source | FileCheck %s
4
; RUN: llc -march=x86-64 < %s -pre-RA-sched=list-burr | FileCheck %s
5
; RUN: llc -march=x86-64 < %s -pre-RA-sched=linearize | FileCheck %s
7
; PR22304 https://llvm.org/bugs/show_bug.cgi?id=22304
8
; Tests checking backtracking in source scheduler. llc used to crash on them.
11
define i256 @test1(i256 %a) {
16
%t = trunc i256 %v to i1
18
%f = select i1 %t, i256 undef, i256 %c
23
define i256 @test2(i256 %a) {
26
%d = call i256 @llvm.ctlz.i256(i256 %c, i1 false)
31
define i256 @test3(i256 %n) {
35
%z = call i256 @llvm.ctlz.i256(i256 %y, i1 false)
39
declare i256 @llvm.ctlz.i256(i256, i1) nounwind readnone
42
define i64 @test4(i64 %a, i64 %b) {
43
%r = zext i64 %b to i256
45
%w = and i256 %u, 1461501637330902918203684832716283019655932542975
46
%x = zext i64 %a to i256
47
%c = icmp uge i256 %w, %x
48
%y = select i1 %c, i64 0, i64 1