Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py |
| 2 | ; RUN: opt -cost-model -analyze -mtriple=thumbv8m.main < %s | FileCheck %s --check-prefix=V8M |
| 3 | ; RUN: opt -cost-model -analyze -mtriple=armv8a-linux-gnueabihf < %s | FileCheck %s --check-prefix=NEON |
| 4 | ; RUN: opt -cost-model -analyze -mtriple=armv8.1m.main -mattr=+mve < %s | FileCheck %s --check-prefix=MVE |
| 5 | |
| 6 | define i32 @reduce_i64(i32 %arg) { |
| 7 | ; V8M-LABEL: 'reduce_i64' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 8 | ; V8M-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V1 = call i64 @llvm.vector.reduce.smax.v1i64(<1 x i64> undef) |
| 9 | ; V8M-NEXT: Cost Model: Found an estimated cost of 13 for instruction: %V2 = call i64 @llvm.vector.reduce.smax.v2i64(<2 x i64> undef) |
| 10 | ; V8M-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %V4 = call i64 @llvm.vector.reduce.smax.v4i64(<4 x i64> undef) |
| 11 | ; V8M-NEXT: Cost Model: Found an estimated cost of 79 for instruction: %V8 = call i64 @llvm.vector.reduce.smax.v8i64(<8 x i64> undef) |
| 12 | ; V8M-NEXT: Cost Model: Found an estimated cost of 167 for instruction: %V16 = call i64 @llvm.vector.reduce.smax.v16i64(<16 x i64> undef) |
Sam Parker | 2596da3 | 2020-06-15 08:58:25 +0100 | [diff] [blame] | 13 | ; V8M-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 14 | ; |
| 15 | ; NEON-LABEL: 'reduce_i64' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 16 | ; NEON-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %V1 = call i64 @llvm.vector.reduce.smax.v1i64(<1 x i64> undef) |
| 17 | ; NEON-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V2 = call i64 @llvm.vector.reduce.smax.v2i64(<2 x i64> undef) |
| 18 | ; NEON-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V4 = call i64 @llvm.vector.reduce.smax.v4i64(<4 x i64> undef) |
| 19 | ; NEON-NEXT: Cost Model: Found an estimated cost of 76 for instruction: %V8 = call i64 @llvm.vector.reduce.smax.v8i64(<8 x i64> undef) |
| 20 | ; NEON-NEXT: Cost Model: Found an estimated cost of 178 for instruction: %V16 = call i64 @llvm.vector.reduce.smax.v16i64(<16 x i64> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 21 | ; NEON-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 22 | ; |
| 23 | ; MVE-LABEL: 'reduce_i64' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 24 | ; MVE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1 = call i64 @llvm.vector.reduce.smax.v1i64(<1 x i64> undef) |
| 25 | ; MVE-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2 = call i64 @llvm.vector.reduce.smax.v2i64(<2 x i64> undef) |
| 26 | ; MVE-NEXT: Cost Model: Found an estimated cost of 98 for instruction: %V4 = call i64 @llvm.vector.reduce.smax.v4i64(<4 x i64> undef) |
| 27 | ; MVE-NEXT: Cost Model: Found an estimated cost of 282 for instruction: %V8 = call i64 @llvm.vector.reduce.smax.v8i64(<8 x i64> undef) |
| 28 | ; MVE-NEXT: Cost Model: Found an estimated cost of 970 for instruction: %V16 = call i64 @llvm.vector.reduce.smax.v16i64(<16 x i64> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 29 | ; MVE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 30 | ; |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 31 | %V1 = call i64 @llvm.vector.reduce.smax.v1i64(<1 x i64> undef) |
| 32 | %V2 = call i64 @llvm.vector.reduce.smax.v2i64(<2 x i64> undef) |
| 33 | %V4 = call i64 @llvm.vector.reduce.smax.v4i64(<4 x i64> undef) |
| 34 | %V8 = call i64 @llvm.vector.reduce.smax.v8i64(<8 x i64> undef) |
| 35 | %V16 = call i64 @llvm.vector.reduce.smax.v16i64(<16 x i64> undef) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 36 | ret i32 undef |
| 37 | } |
| 38 | |
| 39 | define i32 @reduce_i32(i32 %arg) { |
| 40 | ; V8M-LABEL: 'reduce_i32' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 41 | ; V8M-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %V2 = call i32 @llvm.vector.reduce.smax.v2i32(<2 x i32> undef) |
| 42 | ; V8M-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %V4 = call i32 @llvm.vector.reduce.smax.v4i32(<4 x i32> undef) |
| 43 | ; V8M-NEXT: Cost Model: Found an estimated cost of 43 for instruction: %V8 = call i32 @llvm.vector.reduce.smax.v8i32(<8 x i32> undef) |
| 44 | ; V8M-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %V16 = call i32 @llvm.vector.reduce.smax.v16i32(<16 x i32> undef) |
| 45 | ; V8M-NEXT: Cost Model: Found an estimated cost of 187 for instruction: %V32 = call i32 @llvm.vector.reduce.smax.v32i32(<32 x i32> undef) |
Sam Parker | 2596da3 | 2020-06-15 08:58:25 +0100 | [diff] [blame] | 46 | ; V8M-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 47 | ; |
| 48 | ; NEON-LABEL: 'reduce_i32' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 49 | ; NEON-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V2 = call i32 @llvm.vector.reduce.smax.v2i32(<2 x i32> undef) |
| 50 | ; NEON-NEXT: Cost Model: Found an estimated cost of 55 for instruction: %V4 = call i32 @llvm.vector.reduce.smax.v4i32(<4 x i32> undef) |
| 51 | ; NEON-NEXT: Cost Model: Found an estimated cost of 81 for instruction: %V8 = call i32 @llvm.vector.reduce.smax.v8i32(<8 x i32> undef) |
| 52 | ; NEON-NEXT: Cost Model: Found an estimated cost of 133 for instruction: %V16 = call i32 @llvm.vector.reduce.smax.v16i32(<16 x i32> undef) |
| 53 | ; NEON-NEXT: Cost Model: Found an estimated cost of 237 for instruction: %V32 = call i32 @llvm.vector.reduce.smax.v32i32(<32 x i32> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 54 | ; NEON-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 55 | ; |
| 56 | ; MVE-LABEL: 'reduce_i32' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 57 | ; MVE-NEXT: Cost Model: Found an estimated cost of 42 for instruction: %V2 = call i32 @llvm.vector.reduce.smax.v2i32(<2 x i32> undef) |
| 58 | ; MVE-NEXT: Cost Model: Found an estimated cost of 140 for instruction: %V4 = call i32 @llvm.vector.reduce.smax.v4i32(<4 x i32> undef) |
| 59 | ; MVE-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V8 = call i32 @llvm.vector.reduce.smax.v8i32(<8 x i32> undef) |
| 60 | ; MVE-NEXT: Cost Model: Found an estimated cost of 632 for instruction: %V16 = call i32 @llvm.vector.reduce.smax.v16i32(<16 x i32> undef) |
| 61 | ; MVE-NEXT: Cost Model: Found an estimated cost of 2184 for instruction: %V32 = call i32 @llvm.vector.reduce.smax.v32i32(<32 x i32> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 62 | ; MVE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 63 | ; |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 64 | %V2 = call i32 @llvm.vector.reduce.smax.v2i32(<2 x i32> undef) |
| 65 | %V4 = call i32 @llvm.vector.reduce.smax.v4i32(<4 x i32> undef) |
| 66 | %V8 = call i32 @llvm.vector.reduce.smax.v8i32(<8 x i32> undef) |
| 67 | %V16 = call i32 @llvm.vector.reduce.smax.v16i32(<16 x i32> undef) |
| 68 | %V32 = call i32 @llvm.vector.reduce.smax.v32i32(<32 x i32> undef) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 69 | ret i32 undef |
| 70 | } |
| 71 | |
| 72 | define i32 @reduce_i16(i32 %arg) { |
| 73 | ; V8M-LABEL: 'reduce_i16' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 74 | ; V8M-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %V2 = call i16 @llvm.vector.reduce.smax.v2i16(<2 x i16> undef) |
| 75 | ; V8M-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %V4 = call i16 @llvm.vector.reduce.smax.v4i16(<4 x i16> undef) |
| 76 | ; V8M-NEXT: Cost Model: Found an estimated cost of 43 for instruction: %V8 = call i16 @llvm.vector.reduce.smax.v8i16(<8 x i16> undef) |
| 77 | ; V8M-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %V16 = call i16 @llvm.vector.reduce.smax.v16i16(<16 x i16> undef) |
| 78 | ; V8M-NEXT: Cost Model: Found an estimated cost of 187 for instruction: %V32 = call i16 @llvm.vector.reduce.smax.v32i16(<32 x i16> undef) |
| 79 | ; V8M-NEXT: Cost Model: Found an estimated cost of 379 for instruction: %V64 = call i16 @llvm.vector.reduce.smax.v64i16(<64 x i16> undef) |
Sam Parker | 2596da3 | 2020-06-15 08:58:25 +0100 | [diff] [blame] | 80 | ; V8M-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 81 | ; |
| 82 | ; NEON-LABEL: 'reduce_i16' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 83 | ; NEON-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V2 = call i16 @llvm.vector.reduce.smax.v2i16(<2 x i16> undef) |
| 84 | ; NEON-NEXT: Cost Model: Found an estimated cost of 55 for instruction: %V4 = call i16 @llvm.vector.reduce.smax.v4i16(<4 x i16> undef) |
| 85 | ; NEON-NEXT: Cost Model: Found an estimated cost of 153 for instruction: %V8 = call i16 @llvm.vector.reduce.smax.v8i16(<8 x i16> undef) |
| 86 | ; NEON-NEXT: Cost Model: Found an estimated cost of 203 for instruction: %V16 = call i16 @llvm.vector.reduce.smax.v16i16(<16 x i16> undef) |
| 87 | ; NEON-NEXT: Cost Model: Found an estimated cost of 303 for instruction: %V32 = call i16 @llvm.vector.reduce.smax.v32i16(<32 x i16> undef) |
| 88 | ; NEON-NEXT: Cost Model: Found an estimated cost of 503 for instruction: %V64 = call i16 @llvm.vector.reduce.smax.v64i16(<64 x i16> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 89 | ; NEON-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 90 | ; |
| 91 | ; MVE-LABEL: 'reduce_i16' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 92 | ; MVE-NEXT: Cost Model: Found an estimated cost of 42 for instruction: %V2 = call i16 @llvm.vector.reduce.smax.v2i16(<2 x i16> undef) |
| 93 | ; MVE-NEXT: Cost Model: Found an estimated cost of 140 for instruction: %V4 = call i16 @llvm.vector.reduce.smax.v4i16(<4 x i16> undef) |
| 94 | ; MVE-NEXT: Cost Model: Found an estimated cost of 788 for instruction: %V8 = call i16 @llvm.vector.reduce.smax.v8i16(<8 x i16> undef) |
| 95 | ; MVE-NEXT: Cost Model: Found an estimated cost of 1176 for instruction: %V16 = call i16 @llvm.vector.reduce.smax.v16i16(<16 x i16> undef) |
| 96 | ; MVE-NEXT: Cost Model: Found an estimated cost of 2720 for instruction: %V32 = call i16 @llvm.vector.reduce.smax.v32i16(<32 x i16> undef) |
| 97 | ; MVE-NEXT: Cost Model: Found an estimated cost of 8880 for instruction: %V64 = call i16 @llvm.vector.reduce.smax.v64i16(<64 x i16> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 98 | ; MVE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 99 | ; |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 100 | %V2 = call i16 @llvm.vector.reduce.smax.v2i16(<2 x i16> undef) |
| 101 | %V4 = call i16 @llvm.vector.reduce.smax.v4i16(<4 x i16> undef) |
| 102 | %V8 = call i16 @llvm.vector.reduce.smax.v8i16(<8 x i16> undef) |
| 103 | %V16 = call i16 @llvm.vector.reduce.smax.v16i16(<16 x i16> undef) |
| 104 | %V32 = call i16 @llvm.vector.reduce.smax.v32i16(<32 x i16> undef) |
| 105 | %V64 = call i16 @llvm.vector.reduce.smax.v64i16(<64 x i16> undef) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 106 | ret i32 undef |
| 107 | } |
| 108 | |
| 109 | define i32 @reduce_i8(i32 %arg) { |
| 110 | ; V8M-LABEL: 'reduce_i8' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 111 | ; V8M-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %V2 = call i8 @llvm.vector.reduce.smax.v2i8(<2 x i8> undef) |
| 112 | ; V8M-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %V4 = call i8 @llvm.vector.reduce.smax.v4i8(<4 x i8> undef) |
| 113 | ; V8M-NEXT: Cost Model: Found an estimated cost of 43 for instruction: %V8 = call i8 @llvm.vector.reduce.smax.v8i8(<8 x i8> undef) |
| 114 | ; V8M-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %V16 = call i8 @llvm.vector.reduce.smax.v16i8(<16 x i8> undef) |
| 115 | ; V8M-NEXT: Cost Model: Found an estimated cost of 187 for instruction: %V32 = call i8 @llvm.vector.reduce.smax.v32i8(<32 x i8> undef) |
| 116 | ; V8M-NEXT: Cost Model: Found an estimated cost of 379 for instruction: %V64 = call i8 @llvm.vector.reduce.smax.v64i8(<64 x i8> undef) |
| 117 | ; V8M-NEXT: Cost Model: Found an estimated cost of 763 for instruction: %V128 = call i8 @llvm.vector.reduce.smax.v128i8(<128 x i8> undef) |
Sam Parker | 2596da3 | 2020-06-15 08:58:25 +0100 | [diff] [blame] | 118 | ; V8M-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 119 | ; |
| 120 | ; NEON-LABEL: 'reduce_i8' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 121 | ; NEON-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %V2 = call i8 @llvm.vector.reduce.smax.v2i8(<2 x i8> undef) |
| 122 | ; NEON-NEXT: Cost Model: Found an estimated cost of 55 for instruction: %V4 = call i8 @llvm.vector.reduce.smax.v4i8(<4 x i8> undef) |
| 123 | ; NEON-NEXT: Cost Model: Found an estimated cost of 153 for instruction: %V8 = call i8 @llvm.vector.reduce.smax.v8i8(<8 x i8> undef) |
| 124 | ; NEON-NEXT: Cost Model: Found an estimated cost of 395 for instruction: %V16 = call i8 @llvm.vector.reduce.smax.v16i8(<16 x i8> undef) |
| 125 | ; NEON-NEXT: Cost Model: Found an estimated cost of 493 for instruction: %V32 = call i8 @llvm.vector.reduce.smax.v32i8(<32 x i8> undef) |
| 126 | ; NEON-NEXT: Cost Model: Found an estimated cost of 689 for instruction: %V64 = call i8 @llvm.vector.reduce.smax.v64i8(<64 x i8> undef) |
| 127 | ; NEON-NEXT: Cost Model: Found an estimated cost of 1081 for instruction: %V128 = call i8 @llvm.vector.reduce.smax.v128i8(<128 x i8> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 128 | ; NEON-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 129 | ; |
| 130 | ; MVE-LABEL: 'reduce_i8' |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 131 | ; MVE-NEXT: Cost Model: Found an estimated cost of 42 for instruction: %V2 = call i8 @llvm.vector.reduce.smax.v2i8(<2 x i8> undef) |
| 132 | ; MVE-NEXT: Cost Model: Found an estimated cost of 140 for instruction: %V4 = call i8 @llvm.vector.reduce.smax.v4i8(<4 x i8> undef) |
| 133 | ; MVE-NEXT: Cost Model: Found an estimated cost of 788 for instruction: %V8 = call i8 @llvm.vector.reduce.smax.v8i8(<8 x i8> undef) |
| 134 | ; MVE-NEXT: Cost Model: Found an estimated cost of 4128 for instruction: %V16 = call i8 @llvm.vector.reduce.smax.v16i8(<16 x i8> undef) |
| 135 | ; MVE-NEXT: Cost Model: Found an estimated cost of 5668 for instruction: %V32 = call i8 @llvm.vector.reduce.smax.v32i8(<32 x i8> undef) |
| 136 | ; MVE-NEXT: Cost Model: Found an estimated cost of 11820 for instruction: %V64 = call i8 @llvm.vector.reduce.smax.v64i8(<64 x i8> undef) |
| 137 | ; MVE-NEXT: Cost Model: Found an estimated cost of 36412 for instruction: %V128 = call i8 @llvm.vector.reduce.smax.v128i8(<128 x i8> undef) |
Sam Parker | f2675ab | 2020-08-05 09:37:53 +0100 | [diff] [blame] | 138 | ; MVE-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 139 | ; |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 140 | %V2 = call i8 @llvm.vector.reduce.smax.v2i8(<2 x i8> undef) |
| 141 | %V4 = call i8 @llvm.vector.reduce.smax.v4i8(<4 x i8> undef) |
| 142 | %V8 = call i8 @llvm.vector.reduce.smax.v8i8(<8 x i8> undef) |
| 143 | %V16 = call i8 @llvm.vector.reduce.smax.v16i8(<16 x i8> undef) |
| 144 | %V32 = call i8 @llvm.vector.reduce.smax.v32i8(<32 x i8> undef) |
| 145 | %V64 = call i8 @llvm.vector.reduce.smax.v64i8(<64 x i8> undef) |
| 146 | %V128 = call i8 @llvm.vector.reduce.smax.v128i8(<128 x i8> undef) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 147 | ret i32 undef |
| 148 | } |
| 149 | |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 150 | declare i64 @llvm.vector.reduce.smax.v1i64(<1 x i64>) |
| 151 | declare i64 @llvm.vector.reduce.smax.v2i64(<2 x i64>) |
| 152 | declare i64 @llvm.vector.reduce.smax.v4i64(<4 x i64>) |
| 153 | declare i64 @llvm.vector.reduce.smax.v8i64(<8 x i64>) |
| 154 | declare i64 @llvm.vector.reduce.smax.v16i64(<16 x i64>) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 155 | |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 156 | declare i32 @llvm.vector.reduce.smax.v2i32(<2 x i32>) |
| 157 | declare i32 @llvm.vector.reduce.smax.v4i32(<4 x i32>) |
| 158 | declare i32 @llvm.vector.reduce.smax.v8i32(<8 x i32>) |
| 159 | declare i32 @llvm.vector.reduce.smax.v16i32(<16 x i32>) |
| 160 | declare i32 @llvm.vector.reduce.smax.v32i32(<32 x i32>) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 161 | |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 162 | declare i16 @llvm.vector.reduce.smax.v2i16(<2 x i16>) |
| 163 | declare i16 @llvm.vector.reduce.smax.v4i16(<4 x i16>) |
| 164 | declare i16 @llvm.vector.reduce.smax.v8i16(<8 x i16>) |
| 165 | declare i16 @llvm.vector.reduce.smax.v16i16(<16 x i16>) |
| 166 | declare i16 @llvm.vector.reduce.smax.v32i16(<32 x i16>) |
| 167 | declare i16 @llvm.vector.reduce.smax.v64i16(<64 x i16>) |
Sam Parker | 0ef62fc | 2020-05-15 13:36:44 +0100 | [diff] [blame] | 168 | |
Amara Emerson | 322d0af | 2020-10-02 18:30:53 -0700 | [diff] [blame] | 169 | declare i8 @llvm.vector.reduce.smax.v2i8(<2 x i8>) |
| 170 | declare i8 @llvm.vector.reduce.smax.v4i8(<4 x i8>) |
| 171 | declare i8 @llvm.vector.reduce.smax.v8i8(<8 x i8>) |
| 172 | declare i8 @llvm.vector.reduce.smax.v16i8(<16 x i8>) |
| 173 | declare i8 @llvm.vector.reduce.smax.v32i8(<32 x i8>) |
| 174 | declare i8 @llvm.vector.reduce.smax.v64i8(<64 x i8>) |
| 175 | declare i8 @llvm.vector.reduce.smax.v128i8(<128 x i8>) |