1 // RUN: %clang_cc1 -triple riscv64 -target-feature +v \ 2 // RUN: -target-feature +zvfh -target-feature +zvfbfmin -ast-print %s | FileCheck %s 3 4 void bar(void) { 5 // CHECK: __rvv_int64m1_t x0; 6 __rvv_int64m1_t x0; 7 8 // CHECK: __rvv_float64m1_t x1; 9 __rvv_float64m1_t x1; 10 11 // CHECK: __rvv_int64m2_t x2; 12 __rvv_int64m2_t x2; 13 14 // CHECK: __rvv_float64m2_t x3; 15 __rvv_float64m2_t x3; 16 17 // CHECK: __rvv_int64m4_t x4; 18 __rvv_int64m4_t x4; 19 20 // CHECK: __rvv_float64m4_t x5; 21 __rvv_float64m4_t x5; 22 23 // CHECK: __rvv_int64m8_t x6; 24 __rvv_int64m8_t x6; 25 26 // CHECK: __rvv_float64m8_t x7; 27 __rvv_float64m8_t x7; 28 29 // CHECK: __rvv_int32m1_t x8; 30 __rvv_int32m1_t x8; 31 32 // CHECK: __rvv_float32m1_t x9; 33 __rvv_float32m1_t x9; 34 35 // CHECK: __rvv_int32m2_t x10; 36 __rvv_int32m2_t x10; 37 38 // CHECK: __rvv_float32m2_t x11; 39 __rvv_float32m2_t x11; 40 41 // CHECK: __rvv_int32m4_t x12; 42 __rvv_int32m4_t x12; 43 44 // CHECK: __rvv_float32m4_t x13; 45 __rvv_float32m4_t x13; 46 47 // CHECK: __rvv_int32m8_t x14; 48 __rvv_int32m8_t x14; 49 50 // CHECK: __rvv_float32m8_t x15; 51 __rvv_float32m8_t x15; 52 53 // CHECK: __rvv_int16m1_t x16; 54 __rvv_int16m1_t x16; 55 56 // CHECK: __rvv_float16m1_t x17; 57 __rvv_float16m1_t x17; 58 59 // CHECK: __rvv_int16m2_t x18; 60 __rvv_int16m2_t x18; 61 62 // CHECK: __rvv_float16m2_t x19; 63 __rvv_float16m2_t x19; 64 65 // CHECK: __rvv_int16m4_t x20; 66 __rvv_int16m4_t x20; 67 68 // CHECK: __rvv_float16m4_t x21; 69 __rvv_float16m4_t x21; 70 71 // CHECK: __rvv_int16m8_t x22; 72 __rvv_int16m8_t x22; 73 74 // CHECK: __rvv_float16m8_t x23; 75 __rvv_float16m8_t x23; 76 77 // CHECK: __rvv_int8m1_t x24; 78 __rvv_int8m1_t x24; 79 80 // CHECK: __rvv_int8m2_t x25; 81 __rvv_int8m2_t x25; 82 83 // CHECK: __rvv_int8m4_t x26; 84 __rvv_int8m4_t x26; 85 86 // CHECK: __rvv_int8m8_t x27; 87 __rvv_int8m8_t x27; 88 89 // CHECK: __rvv_bool64_t x28; 90 __rvv_bool64_t x28; 91 92 // CHECK: __rvv_bool32_t x29; 93 __rvv_bool32_t x29; 94 95 // CHECK: __rvv_bool16_t x30; 96 __rvv_bool16_t x30; 97 98 // CHECK: __rvv_bool8_t x31; 99 __rvv_bool8_t x31; 100 101 // CHECK: __rvv_bool8_t x32; 102 __rvv_bool8_t x32; 103 104 // CHECK: __rvv_bool8_t x33; 105 __rvv_bool8_t x33; 106 107 // CHECK: __rvv_bool8_t x34; 108 __rvv_bool8_t x34; 109 110 // CHECK: __rvv_int32mf2_t x35; 111 __rvv_int32mf2_t x35; 112 113 // CHECK: __rvv_float32mf2_t x36; 114 __rvv_float32mf2_t x36; 115 116 // CHECK: __rvv_int16mf4_t x37; 117 __rvv_int16mf4_t x37; 118 119 // CHECK: __rvv_float16mf4_t x38; 120 __rvv_float16mf4_t x38; 121 122 // CHECK: __rvv_int16mf2_t x39; 123 __rvv_int16mf2_t x39; 124 125 // CHECK: __rvv_float16mf2_t x40; 126 __rvv_float16mf2_t x40; 127 128 // CHECK: __rvv_int8mf8_t x41; 129 __rvv_int8mf8_t x41; 130 131 // CHECK: __rvv_int8mf4_t x42; 132 __rvv_int8mf4_t x42; 133 134 // CHECK: __rvv_int8mf2_t x43; 135 __rvv_int8mf2_t x43; 136 137 // CHECK: __rvv_int32m1x2_t x44; 138 __rvv_int32m1x2_t x44; 139 140 // CHECK: __rvv_bfloat16m1_t x45; 141 __rvv_bfloat16m1_t x45; 142 143 // CHECK: __rvv_bfloat16m2_t x46; 144 __rvv_bfloat16m2_t x46; 145 146 // CHECK: __rvv_bfloat16m4_t x47; 147 __rvv_bfloat16m4_t x47; 148 149 // CHECK: __rvv_bfloat16m8_t x48; 150 __rvv_bfloat16m8_t x48; 151 152 // CHECK: __rvv_bfloat16mf4_t x49; 153 __rvv_bfloat16mf4_t x49; 154 155 // CHECK: __rvv_bfloat16mf2_t x50; 156 __rvv_bfloat16mf2_t x50; 157 158 } 159 160 typedef __rvv_bool4_t vbool4_t; 161 __rvv_bool4_t get_rvv_bool4(void); 162 vbool4_t get_vbool4_t(void); 163 164 void func1(int sel) { 165 // CHECK: vbool4_t t0 = sel ? get_rvv_bool4() : get_vbool4_t(); 166 vbool4_t t0 = sel ? get_rvv_bool4() : get_vbool4_t(); 167 } 168