@@ -948,38 +948,38 @@ void test_builtin_popcountg(unsigned char uc, unsigned short us,
948
948
volatile int pop ;
949
949
pop = __builtin_popcountg (uc );
950
950
// CHECK: %1 = load i8, ptr %uc.addr, align 1
951
- // CHECK-NEXT: %conv = zext i8 %1 to i32
952
- // CHECK-NEXT: %2 = call i32 @llvm.ctpop.i32(i32 %conv)
953
- // CHECK-NEXT: store volatile i32 %2 , ptr %pop, align 4
951
+ // CHECK-NEXT: %2 = call i8 @llvm.ctpop.i8(i8 %1)
952
+ // CHECK-NEXT: %cast = sext i8 %2 to i32
953
+ // CHECK-NEXT: store volatile i32 %cast , ptr %pop, align 4
954
954
pop = __builtin_popcountg (us );
955
955
// CHECK-NEXT: %3 = load i16, ptr %us.addr, align 2
956
- // CHECK-NEXT: %conv1 = zext i16 %3 to i32
957
- // CHECK-NEXT: %4 = call i32 @llvm.ctpop.i32(i32 %conv1)
958
- // CHECK-NEXT: store volatile i32 %4 , ptr %pop, align 4
956
+ // CHECK-NEXT: %4 = call i16 @llvm.ctpop.i16(i16 %3)
957
+ // CHECK-NEXT: %cast1 = sext i16 %4 to i32
958
+ // CHECK-NEXT: store volatile i32 %cast1 , ptr %pop, align 4
959
959
pop = __builtin_popcountg (ui );
960
960
// CHECK-NEXT: %5 = load i32, ptr %ui.addr, align 4
961
961
// CHECK-NEXT: %6 = call i32 @llvm.ctpop.i32(i32 %5)
962
962
// CHECK-NEXT: store volatile i32 %6, ptr %pop, align 4
963
963
pop = __builtin_popcountg (ul );
964
964
// CHECK-NEXT: %7 = load i64, ptr %ul.addr, align 8
965
965
// CHECK-NEXT: %8 = call i64 @llvm.ctpop.i64(i64 %7)
966
- // CHECK-NEXT: %cast = trunc i64 %8 to i32
967
- // CHECK-NEXT: store volatile i32 %cast , ptr %pop, align 4
966
+ // CHECK-NEXT: %cast2 = trunc i64 %8 to i32
967
+ // CHECK-NEXT: store volatile i32 %cast2 , ptr %pop, align 4
968
968
pop = __builtin_popcountg (ull );
969
969
// CHECK-NEXT: %9 = load i64, ptr %ull.addr, align 8
970
970
// CHECK-NEXT: %10 = call i64 @llvm.ctpop.i64(i64 %9)
971
- // CHECK-NEXT: %cast2 = trunc i64 %10 to i32
972
- // CHECK-NEXT: store volatile i32 %cast2 , ptr %pop, align 4
971
+ // CHECK-NEXT: %cast3 = trunc i64 %10 to i32
972
+ // CHECK-NEXT: store volatile i32 %cast3 , ptr %pop, align 4
973
973
pop = __builtin_popcountg (ui128 );
974
974
// CHECK-NEXT: %11 = load i128, ptr %ui128.addr, align 16
975
975
// CHECK-NEXT: %12 = call i128 @llvm.ctpop.i128(i128 %11)
976
- // CHECK-NEXT: %cast3 = trunc i128 %12 to i32
977
- // CHECK-NEXT: store volatile i32 %cast3 , ptr %pop, align 4
976
+ // CHECK-NEXT: %cast4 = trunc i128 %12 to i32
977
+ // CHECK-NEXT: store volatile i32 %cast4 , ptr %pop, align 4
978
978
pop = __builtin_popcountg (ubi128 );
979
979
// CHECK-NEXT: %13 = load i128, ptr %ubi128.addr, align 8
980
980
// CHECK-NEXT: %14 = call i128 @llvm.ctpop.i128(i128 %13)
981
- // CHECK-NEXT: %cast4 = trunc i128 %14 to i32
982
- // CHECK-NEXT: store volatile i32 %cast4 , ptr %pop, align 4
981
+ // CHECK-NEXT: %cast5 = trunc i128 %14 to i32
982
+ // CHECK-NEXT: store volatile i32 %cast5 , ptr %pop, align 4
983
983
// CHECK-NEXT: ret void
984
984
}
985
985
0 commit comments