@@ -539,7 +539,7 @@ struct S1 {
539
539
short int c[2 ][n];
540
540
541
541
#ifdef OMP5
542
- #pragma omp target parallel for simd if(target: n>60) if(simd:n )
542
+ #pragma omp target parallel for simd if(n>60)
543
543
#else
544
544
#pragma omp target parallel for simd if(target: n>60)
545
545
#endif // OMP5
@@ -576,20 +576,22 @@ int bar(int n){
576
576
// CHECK: define {{.*}}[[FS1]]
577
577
//
578
578
// CHECK: i8* @llvm.stacksave()
579
+ // CHECK-32: store i32 %{{.+}}, i32* %__vla_expr
580
+ // OMP50: [[IF:%.+]] = icmp sgt i32 {{[^,]+}}, 60
579
581
// CHECK-64: [[B_ADDR:%.+]] = bitcast i[[SZ]]* [[B_CADDR:%.+]] to i32*
580
582
// CHECK-64: store i32 %{{.+}}, i32* [[B_ADDR]],
581
583
// CHECK-64: [[B_CVAL:%.+]] = load i[[SZ]], i[[SZ]]* [[B_CADDR]],
582
584
583
- // CHECK-32: store i32 %{{.+}}, i32* %__vla_expr
584
585
// CHECK-32: store i32 %{{.+}}, i32* [[B_ADDR:%.+]],
585
586
// CHECK-32: [[B_CVAL:%.+]] = load i[[SZ]], i[[SZ]]* [[B_ADDR]],
586
587
588
+ // OMP45: [[IF:%.+]] = icmp sgt i32 {{[^,]+}}, 60
587
589
// OMP50: [[TOBOOL:%.+]] = trunc i8 %{{.+}} to i1
588
590
// OMP50: [[CONV:%.+]] = bitcast i[[SZ]]* [[CAP:%.+]] to i8*
589
591
// OMP50: [[FROMBOOL:%.+]] = zext i1 [[TOBOOL]] to i8
590
592
// OMP50: store i8 [[FROMBOOL]], i8* [[CONV]],
591
593
// OMP50: [[SIMD_COND:%.+]] = load i[[SZ]], i[[SZ]]* [[CAP]],
592
- // CHECK : [[IF:%.+]] = icmp sgt i32 {{[^,] +}}, 60
594
+ // OMP50 : [[IF:%.+]] = trunc i8 %{{. +}} to i1
593
595
// CHECK: br i1 [[IF]], label %[[TRY:[^,]+]], label %[[FAIL:[^,]+]]
594
596
// CHECK: [[TRY]]
595
597
// We capture 2 VLA sizes in this target region
@@ -599,7 +601,7 @@ int bar(int n){
599
601
// CHECK-32: [[CSIZE:%.+]] = sext i32 [[CSZSIZE]] to i64
600
602
601
603
// OMP45-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 6, i8** [[BPR:%[^,]+]], i8** [[PR:%[^,]+]], i64* [[SR:%[^,]+]], i64* getelementptr inbounds ([6 x i64], [6 x i64]* [[MAPT7]], i32 0, i32 0), i32 1, i32 0)
602
- // OMP50-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 7, i8** [[BPR:%[^,]+]], i8** [[PR:%[^,]+]], i64* [[SR:%[^,]+]], i64* getelementptr inbounds ([7 x i64], [7 x i64]* [[MAPT7]], i32 0, i32 0), i32 1, i32 0 )
604
+ // OMP50-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 7, i8** [[BPR:%[^,]+]], i8** [[PR:%[^,]+]], i64* [[SR:%[^,]+]], i64* getelementptr inbounds ([7 x i64], [7 x i64]* [[MAPT7]], i32 0, i32 0), i32 1, i32 %{{.+}} )
603
605
// OMP45-DAG: [[BPR]] = getelementptr inbounds [6 x i8*], [6 x i8*]* [[BP:%.+]], i32 0, i32 0
604
606
// OMP45-DAG: [[PR]] = getelementptr inbounds [6 x i8*], [6 x i8*]* [[P:%.+]], i32 0, i32 0
605
607
// OMP45-DAG: [[SR]] = getelementptr inbounds [6 x i64], [6 x i64]* [[S:%.+]], i32 0, i32 0
0 commit comments