Lines Matching full:bit
3 // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefixes=64BIT --check-prefix=…
5 // RUN: -emit-llvm %s -o - -target-cpu pwr8 | FileCheck %s --check-prefixes=64BIT --check-prefix=…
7 // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefixes=32BIT --check-prefix=…
9 // RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s --check-prefixes=64BIT --check-prefix=…
26 // 64BIT-LABEL: @testlabs(
27 // 64BIT-NEXT: entry:
28 // 64BIT-NEXT: [[A_ADDR:%.*]] = alloca i64, align 8
29 // 64BIT-NEXT: store i64 [[A:%.*]], ptr [[A_ADDR]], align 8
30 // 64BIT-NEXT: [[TMP0:%.*]] = load i64, ptr [[A_ADDR]], align 8
31 // 64BIT-NEXT: [[ABS:%.*]] = call i64 @llvm.abs.i64(i64 [[TMP0]], i1 true)
32 // 64BIT-NEXT: ret i64 [[ABS]]
34 // 32BIT-LABEL: @testlabs(
35 // 32BIT-NEXT: entry:
36 // 32BIT-NEXT: [[A_ADDR:%.*]] = alloca i32, align 4
37 // 32BIT-NEXT: store i32 [[A:%.*]], ptr [[A_ADDR]], align 4
38 // 32BIT-NEXT: [[TMP0:%.*]] = load i32, ptr [[A_ADDR]], align 4
39 // 32BIT-NEXT: [[ABS:%.*]] = call i32 @llvm.abs.i32(i32 [[TMP0]], i1 true)
40 // 32BIT-NEXT: ret i32 [[ABS]]
46 // 64BIT-LABEL: @testllabs(
47 // 64BIT-NEXT: entry:
48 // 64BIT-NEXT: [[A_ADDR:%.*]] = alloca i64, align 8
49 // 64BIT-NEXT: store i64 [[A:%.*]], ptr [[A_ADDR]], align 8
50 // 64BIT-NEXT: [[TMP0:%.*]] = load i64, ptr [[A_ADDR]], align 8
51 // 64BIT-NEXT: [[ABS:%.*]] = call i64 @llvm.abs.i64(i64 [[TMP0]], i1 true)
52 // 64BIT-NEXT: ret i64 [[ABS]]
54 // 32BIT-LABEL: @testllabs(
55 // 32BIT-NEXT: entry:
56 // 32BIT-NEXT: [[A_ADDR:%.*]] = alloca i64, align 8
57 // 32BIT-NEXT: store i64 [[A:%.*]], ptr [[A_ADDR]], align 8
58 // 32BIT-NEXT: [[TMP0:%.*]] = load i64, ptr [[A_ADDR]], align 8
59 // 32BIT-NEXT: [[ABS:%.*]] = call i64 @llvm.abs.i64(i64 [[TMP0]], i1 true)
60 // 32BIT-NEXT: ret i64 [[ABS]]
66 // 64BIT-LABEL: @testalloca(
67 // 64BIT: [[TMP1:%.*]] = alloca i8, i64
68 // 64BIT-NEXT: ret ptr [[TMP1]]
70 // 32BIT-LABEL: @testalloca(
71 // 32BIT: [[TMP1:%.*]] = alloca i8, i32
72 // 32BIT-NEXT: ret ptr [[TMP1]]
78 // Note that bpermd is 64 bit only.
80 // 64BIT-LABEL: @testbpermd(
81 // 64BIT: [[TMP:%.*]] = call i64 @llvm.ppc.bpermd(i64 {{%.*}}, i64 {{%.*}})
82 // 64BIT-NEXT: ret i64 [[TMP]]
90 // 64BIT-LABEL: @testdivde(
91 // 64BIT: [[TMP2:%.*]] = call i64 @llvm.ppc.divde
92 // 64BIT-NEXT: ret i64 [[TMP2]]
97 // 64BIT-LABEL: @testdivdeu(
98 // 64BIT: [[TMP2:%.*]] = call i64 @llvm.ppc.divdeu
99 // 64BIT-NEXT: ret i64 [[TMP2]]
105 // 64BIT-LABEL: @testdivwe(
106 // 64BIT: [[TMP2:%.*]] = call i32 @llvm.ppc.divwe
107 // 64BIT-NEXT: ret i32 [[TMP2]]
109 // 32BIT-LABEL: @testdivwe(
110 // 32BIT: [[TMP2:%.*]] = call i32 @llvm.ppc.divwe
111 // 32BIT-NEXT: ret i32 [[TMP2]]
116 // 64BIT-LABEL: @testdivweu(
117 // 64BIT: [[TMP2:%.*]] = call i32 @llvm.ppc.divweu
118 // 64BIT-NEXT: ret i32 [[TMP2]]
120 // 32BIT-LABEL: @testdivweu(
121 // 32BIT: [[TMP2:%.*]] = call i32 @llvm.ppc.divweu
122 // 32BIT-NEXT: ret i32 [[TMP2]]
147 // 64BIT-LABEL: @testalignx(
148 // 64BIT: call void @llvm.assume(i1 true) [ "align"(ptr {{%.*}}, i64 16) ]
149 // 64BIT-NEXT: ret void
151 // 32BIT-LABEL: @testalignx(
152 // 32BIT: call void @llvm.assume(i1 true) [ "align"(ptr {{%.*}}, i32 16) ]
153 // 32BIT-NEXT: ret void
159 // 64BIT-LABEL: @testbcopy(
160 // 64BIT: call void @llvm.memmove.p0.p0.i64(ptr align 1 {{%.*}}, ptr align 1 {{%.*}}, i64 {…
161 // 64BIT-NEXT: ret void
163 // 32BIT-LABEL: @testbcopy(
164 // 32BIT: call void @llvm.memmove.p0.p0.i32(ptr align 1 {{%.*}}, ptr align 1 {{%.*}}, i32 {…
165 // 32BIT-NEXT: ret void
171 // 64BIT-LABEL: @testbzero(
172 // 64BIT: call void @llvm.memset.p0.i64(ptr align 1 {{%.*}}, i8 0, i64 {{%.*}}, i1 false)
173 // 64BIT-NEXT: ret void
175 // 32BIT-LABEL: @testbzero(
176 // 32BIT: call void @llvm.memset.p0.i32(ptr align 1 {{%.*}}, i8 0, i32 {{%.*}}, i1 false)
177 // 32BIT-NEXT: ret void
183 // 64BIT-LABEL: @testdcbf(
184 // 64BIT: call void @llvm.ppc.dcbf(ptr {{%.*}})
185 // 64BIT-NEXT: ret void
187 // 32BIT-LABEL: @testdcbf(
188 // 32BIT: call void @llvm.ppc.dcbf(ptr {{%.*}})
189 // 32BIT-NEXT: ret void