Skip to content

Commit 27802dd

Browse files
[fixup] Update svwhile_XX builtins to not have unsigned condition variants
The kind of comparison is derived from argument types.
1 parent d973126 commit 27802dd

File tree

2 files changed

+36
-36
lines changed

2 files changed

+36
-36
lines changed

clang/include/clang/Basic/arm_sve.td

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1984,10 +1984,10 @@ def SVWHILEGE_COUNT : SInst<"svwhilege_{d}[_{1}]", "}lli", "QcQsQiQl", MergeNo
19841984
def SVWHILEGT_COUNT : SInst<"svwhilegt_{d}[_{1}]", "}lli", "QcQsQiQl", MergeNone, "aarch64_sve_whilegt_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
19851985
def SVWHILELE_COUNT : SInst<"svwhilele_{d}[_{1}]", "}lli", "QcQsQiQl", MergeNone, "aarch64_sve_whilele_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
19861986
def SVWHILELT_COUNT : SInst<"svwhilelt_{d}[_{1}]", "}lli", "QcQsQiQl", MergeNone, "aarch64_sve_whilelt_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1987-
def SVWHILELO_COUNT : SInst<"svwhilelo_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilelo_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1988-
def SVWHILELS_COUNT : SInst<"svwhilels_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilels_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1989-
def SVWHILEHI_COUNT : SInst<"svwhilehi_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilehi_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1990-
def SVWHILEHS_COUNT : SInst<"svwhilehs_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilehs_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1987+
def SVWHILELO_COUNT : SInst<"svwhilelt_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilelo_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1988+
def SVWHILELS_COUNT : SInst<"svwhilele_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilels_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1989+
def SVWHILEHI_COUNT : SInst<"svwhilegt_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilehi_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
1990+
def SVWHILEHS_COUNT : SInst<"svwhilege_{d}[_{1}]", "}nni", "QcQsQiQl", MergeNone, "aarch64_sve_whilehs_{d}", [IsOverloadNone], [ImmCheck<2, ImmCheck2_4_Mul2>]>;
19911991

19921992
def SVLD1B_X2 : MInst<"svld1[_{2}]_x2", "2}c", "cUc", [IsStructLoad], MemEltTyDefault, "aarch64_sve_ld1_pn_x2">;
19931993
def SVLD1H_X2 : MInst<"svld1[_{2}]_x2", "2}c", "sUshb", [IsStructLoad], MemEltTyDefault, "aarch64_sve_ld1_pn_x2">;

clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ svcount_t test_svwhilegt_c64_vl4(int64_t op1, int64_t op2)
276276
//
277277
svcount_t test_svwhilehi_c8_vl2(uint64_t op1, uint64_t op2)
278278
{
279-
return SVE_ACLE_FUNC(svwhilehi_c8,_u64)(op1, op2, 2);
279+
return SVE_ACLE_FUNC(svwhilegt_c8,_u64)(op1, op2, 2);
280280
}
281281

282282
// CHECK-LABEL: @test_svwhilehi_c8_vl4(
@@ -291,7 +291,7 @@ svcount_t test_svwhilehi_c8_vl2(uint64_t op1, uint64_t op2)
291291
//
292292
svcount_t test_svwhilehi_c8_vl4(uint64_t op1, uint64_t op2)
293293
{
294-
return SVE_ACLE_FUNC(svwhilehi_c8,_u64)(op1, op2, 4);
294+
return SVE_ACLE_FUNC(svwhilegt_c8,_u64)(op1, op2, 4);
295295
}
296296

297297
// CHECK-LABEL: @test_svwhilehi_c16_vl2(
@@ -306,7 +306,7 @@ svcount_t test_svwhilehi_c8_vl4(uint64_t op1, uint64_t op2)
306306
//
307307
svcount_t test_svwhilehi_c16_vl2(uint64_t op1, uint64_t op2)
308308
{
309-
return SVE_ACLE_FUNC(svwhilehi_c16,_u64)(op1, op2, 2);
309+
return SVE_ACLE_FUNC(svwhilegt_c16,_u64)(op1, op2, 2);
310310
}
311311

312312
// CHECK-LABEL: @test_svwhilehi_c16_vl4(
@@ -321,7 +321,7 @@ svcount_t test_svwhilehi_c16_vl2(uint64_t op1, uint64_t op2)
321321
//
322322
svcount_t test_svwhilehi_c16_vl4(uint64_t op1, uint64_t op2)
323323
{
324-
return SVE_ACLE_FUNC(svwhilehi_c16,_u64)(op1, op2, 4);
324+
return SVE_ACLE_FUNC(svwhilegt_c16,_u64)(op1, op2, 4);
325325
}
326326

327327
// CHECK-LABEL: @test_svwhilehi_c32_vl2(
@@ -336,7 +336,7 @@ svcount_t test_svwhilehi_c16_vl4(uint64_t op1, uint64_t op2)
336336
//
337337
svcount_t test_svwhilehi_c32_vl2(uint64_t op1, uint64_t op2)
338338
{
339-
return SVE_ACLE_FUNC(svwhilehi_c32,_u64)(op1, op2, 2);
339+
return SVE_ACLE_FUNC(svwhilegt_c32,_u64)(op1, op2, 2);
340340
}
341341

342342
// CHECK-LABEL: @test_svwhilehi_c32_vl4(
@@ -351,7 +351,7 @@ svcount_t test_svwhilehi_c32_vl2(uint64_t op1, uint64_t op2)
351351
//
352352
svcount_t test_svwhilehi_c32_vl4(uint64_t op1, uint64_t op2)
353353
{
354-
return SVE_ACLE_FUNC(svwhilehi_c32,_u64)(op1, op2, 4);
354+
return SVE_ACLE_FUNC(svwhilegt_c32,_u64)(op1, op2, 4);
355355
}
356356

357357
// CHECK-LABEL: @test_svwhilehi_c64_vl2(
@@ -366,7 +366,7 @@ svcount_t test_svwhilehi_c32_vl4(uint64_t op1, uint64_t op2)
366366
//
367367
svcount_t test_svwhilehi_c64_vl2(uint64_t op1, uint64_t op2)
368368
{
369-
return SVE_ACLE_FUNC(svwhilehi_c64,_u64)(op1, op2, 2);
369+
return SVE_ACLE_FUNC(svwhilegt_c64,_u64)(op1, op2, 2);
370370
}
371371

372372
// CHECK-LABEL: @test_svwhilehi_c64_vl4(
@@ -381,7 +381,7 @@ svcount_t test_svwhilehi_c64_vl2(uint64_t op1, uint64_t op2)
381381
//
382382
svcount_t test_svwhilehi_c64_vl4(uint64_t op1, uint64_t op2)
383383
{
384-
return SVE_ACLE_FUNC(svwhilehi_c64,_u64)(op1, op2, 4);
384+
return SVE_ACLE_FUNC(svwhilegt_c64,_u64)(op1, op2, 4);
385385
}
386386

387387

@@ -399,7 +399,7 @@ svcount_t test_svwhilehi_c64_vl4(uint64_t op1, uint64_t op2)
399399
//
400400
svcount_t test_svwhilehs_c8_vl2(uint64_t op1, uint64_t op2)
401401
{
402-
return SVE_ACLE_FUNC(svwhilehs_c8,_u64)(op1, op2, 2);
402+
return SVE_ACLE_FUNC(svwhilege_c8,_u64)(op1, op2, 2);
403403
}
404404

405405
// CHECK-LABEL: @test_svwhilehs_c8_vl4(
@@ -414,7 +414,7 @@ svcount_t test_svwhilehs_c8_vl2(uint64_t op1, uint64_t op2)
414414
//
415415
svcount_t test_svwhilehs_c8_vl4(uint64_t op1, uint64_t op2)
416416
{
417-
return SVE_ACLE_FUNC(svwhilehs_c8,_u64)(op1, op2, 4);
417+
return SVE_ACLE_FUNC(svwhilege_c8,_u64)(op1, op2, 4);
418418
}
419419

420420
// CHECK-LABEL: @test_svwhilehs_c16_vl2(
@@ -429,7 +429,7 @@ svcount_t test_svwhilehs_c8_vl4(uint64_t op1, uint64_t op2)
429429
//
430430
svcount_t test_svwhilehs_c16_vl2(uint64_t op1, uint64_t op2)
431431
{
432-
return SVE_ACLE_FUNC(svwhilehs_c16,_u64)(op1, op2, 2);
432+
return SVE_ACLE_FUNC(svwhilege_c16,_u64)(op1, op2, 2);
433433
}
434434

435435
// CHECK-LABEL: @test_svwhilehs_c16_vl4(
@@ -444,7 +444,7 @@ svcount_t test_svwhilehs_c16_vl2(uint64_t op1, uint64_t op2)
444444
//
445445
svcount_t test_svwhilehs_c16_vl4(uint64_t op1, uint64_t op2)
446446
{
447-
return SVE_ACLE_FUNC(svwhilehs_c16,_u64)(op1, op2, 4);
447+
return SVE_ACLE_FUNC(svwhilege_c16,_u64)(op1, op2, 4);
448448
}
449449

450450
// CHECK-LABEL: @test_svwhilehs_c32_vl2(
@@ -459,7 +459,7 @@ svcount_t test_svwhilehs_c16_vl4(uint64_t op1, uint64_t op2)
459459
//
460460
svcount_t test_svwhilehs_c32_vl2(uint64_t op1, uint64_t op2)
461461
{
462-
return SVE_ACLE_FUNC(svwhilehs_c32,_u64)(op1, op2, 2);
462+
return SVE_ACLE_FUNC(svwhilege_c32,_u64)(op1, op2, 2);
463463
}
464464

465465
// CHECK-LABEL: @test_svwhilehs_c32_vl4(
@@ -474,7 +474,7 @@ svcount_t test_svwhilehs_c32_vl2(uint64_t op1, uint64_t op2)
474474
//
475475
svcount_t test_svwhilehs_c32_vl4(uint64_t op1, uint64_t op2)
476476
{
477-
return SVE_ACLE_FUNC(svwhilehs_c32,_u64)(op1, op2, 4);
477+
return SVE_ACLE_FUNC(svwhilege_c32,_u64)(op1, op2, 4);
478478
}
479479

480480
// CHECK-LABEL: @test_svwhilehs_c64_vl2(
@@ -489,7 +489,7 @@ svcount_t test_svwhilehs_c32_vl4(uint64_t op1, uint64_t op2)
489489
//
490490
svcount_t test_svwhilehs_c64_vl2(uint64_t op1, uint64_t op2)
491491
{
492-
return SVE_ACLE_FUNC(svwhilehs_c64,_u64)(op1, op2, 2);
492+
return SVE_ACLE_FUNC(svwhilege_c64,_u64)(op1, op2, 2);
493493
}
494494

495495
// CHECK-LABEL: @test_svwhilehs_c64_vl4(
@@ -504,7 +504,7 @@ svcount_t test_svwhilehs_c64_vl2(uint64_t op1, uint64_t op2)
504504
//
505505
svcount_t test_svwhilehs_c64_vl4(uint64_t op1, uint64_t op2)
506506
{
507-
return SVE_ACLE_FUNC(svwhilehs_c64,_u64)(op1, op2, 4);
507+
return SVE_ACLE_FUNC(svwhilege_c64,_u64)(op1, op2, 4);
508508
}
509509

510510

@@ -645,7 +645,7 @@ svcount_t test_svwhilele_c64_vl4(int64_t op1, int64_t op2)
645645
//
646646
svcount_t test_svwhilelo_c8_vl2(uint64_t op1, uint64_t op2)
647647
{
648-
return SVE_ACLE_FUNC(svwhilelo_c8,_u64)(op1, op2, 2);
648+
return SVE_ACLE_FUNC(svwhilelt_c8,_u64)(op1, op2, 2);
649649
}
650650

651651
// CHECK-LABEL: @test_svwhilelo_c8_vl4(
@@ -660,7 +660,7 @@ svcount_t test_svwhilelo_c8_vl2(uint64_t op1, uint64_t op2)
660660
//
661661
svcount_t test_svwhilelo_c8_vl4(uint64_t op1, uint64_t op2)
662662
{
663-
return SVE_ACLE_FUNC(svwhilelo_c8,_u64)(op1, op2, 4);
663+
return SVE_ACLE_FUNC(svwhilelt_c8,_u64)(op1, op2, 4);
664664
}
665665

666666
// CHECK-LABEL: @test_svwhilelo_c16_vl2(
@@ -675,7 +675,7 @@ svcount_t test_svwhilelo_c8_vl4(uint64_t op1, uint64_t op2)
675675
//
676676
svcount_t test_svwhilelo_c16_vl2(uint64_t op1, uint64_t op2)
677677
{
678-
return SVE_ACLE_FUNC(svwhilelo_c16,_u64)(op1, op2, 2);
678+
return SVE_ACLE_FUNC(svwhilelt_c16,_u64)(op1, op2, 2);
679679
}
680680

681681
// CHECK-LABEL: @test_svwhilelo_c16_vl4(
@@ -690,7 +690,7 @@ svcount_t test_svwhilelo_c16_vl2(uint64_t op1, uint64_t op2)
690690
//
691691
svcount_t test_svwhilelo_c16_vl4(uint64_t op1, uint64_t op2)
692692
{
693-
return SVE_ACLE_FUNC(svwhilelo_c16,_u64)(op1, op2, 4);
693+
return SVE_ACLE_FUNC(svwhilelt_c16,_u64)(op1, op2, 4);
694694
}
695695

696696
// CHECK-LABEL: @test_svwhilelo_c32_vl2(
@@ -705,7 +705,7 @@ svcount_t test_svwhilelo_c16_vl4(uint64_t op1, uint64_t op2)
705705
//
706706
svcount_t test_svwhilelo_c32_vl2(uint64_t op1, uint64_t op2)
707707
{
708-
return SVE_ACLE_FUNC(svwhilelo_c32,_u64)(op1, op2, 2);
708+
return SVE_ACLE_FUNC(svwhilelt_c32,_u64)(op1, op2, 2);
709709
}
710710

711711
// CHECK-LABEL: @test_svwhilelo_c32_vl4(
@@ -720,7 +720,7 @@ svcount_t test_svwhilelo_c32_vl2(uint64_t op1, uint64_t op2)
720720
//
721721
svcount_t test_svwhilelo_c32_vl4(uint64_t op1, uint64_t op2)
722722
{
723-
return SVE_ACLE_FUNC(svwhilelo_c32,_u64)(op1, op2, 4);
723+
return SVE_ACLE_FUNC(svwhilelt_c32,_u64)(op1, op2, 4);
724724
}
725725

726726
// CHECK-LABEL: @test_svwhilelo_c64_vl2(
@@ -735,7 +735,7 @@ svcount_t test_svwhilelo_c32_vl4(uint64_t op1, uint64_t op2)
735735
//
736736
svcount_t test_svwhilelo_c64_vl2(uint64_t op1, uint64_t op2)
737737
{
738-
return SVE_ACLE_FUNC(svwhilelo_c64,_u64)(op1, op2, 2);
738+
return SVE_ACLE_FUNC(svwhilelt_c64,_u64)(op1, op2, 2);
739739
}
740740

741741
// CHECK-LABEL: @test_svwhilelo_c64_vl4(
@@ -750,7 +750,7 @@ svcount_t test_svwhilelo_c64_vl2(uint64_t op1, uint64_t op2)
750750
//
751751
svcount_t test_svwhilelo_c64_vl4(uint64_t op1, uint64_t op2)
752752
{
753-
return SVE_ACLE_FUNC(svwhilelo_c64,_u64)(op1, op2, 4);
753+
return SVE_ACLE_FUNC(svwhilelt_c64,_u64)(op1, op2, 4);
754754
}
755755

756756

@@ -768,7 +768,7 @@ svcount_t test_svwhilelo_c64_vl4(uint64_t op1, uint64_t op2)
768768
//
769769
svcount_t test_svwhilels_c8_vl2(uint64_t op1, uint64_t op2)
770770
{
771-
return SVE_ACLE_FUNC(svwhilels_c8,_u64)(op1, op2, 2);
771+
return SVE_ACLE_FUNC(svwhilele_c8,_u64)(op1, op2, 2);
772772
}
773773

774774
// CHECK-LABEL: @test_svwhilels_c8_vl4(
@@ -783,7 +783,7 @@ svcount_t test_svwhilels_c8_vl2(uint64_t op1, uint64_t op2)
783783
//
784784
svcount_t test_svwhilels_c8_vl4(uint64_t op1, uint64_t op2)
785785
{
786-
return SVE_ACLE_FUNC(svwhilels_c8,_u64)(op1, op2, 4);
786+
return SVE_ACLE_FUNC(svwhilele_c8,_u64)(op1, op2, 4);
787787
}
788788

789789
// CHECK-LABEL: @test_svwhilels_c16_vl2(
@@ -798,7 +798,7 @@ svcount_t test_svwhilels_c8_vl4(uint64_t op1, uint64_t op2)
798798
//
799799
svcount_t test_svwhilels_c16_vl2(uint64_t op1, uint64_t op2)
800800
{
801-
return SVE_ACLE_FUNC(svwhilels_c16,_u64)(op1, op2, 2);
801+
return SVE_ACLE_FUNC(svwhilele_c16,_u64)(op1, op2, 2);
802802
}
803803

804804
// CHECK-LABEL: @test_svwhilels_c16_vl4(
@@ -813,7 +813,7 @@ svcount_t test_svwhilels_c16_vl2(uint64_t op1, uint64_t op2)
813813
//
814814
svcount_t test_svwhilels_c16_vl4(uint64_t op1, uint64_t op2)
815815
{
816-
return SVE_ACLE_FUNC(svwhilels_c16,_u64)(op1, op2, 4);
816+
return SVE_ACLE_FUNC(svwhilele_c16,_u64)(op1, op2, 4);
817817
}
818818

819819
// CHECK-LABEL: @test_svwhilels_c32_vl2(
@@ -828,7 +828,7 @@ svcount_t test_svwhilels_c16_vl4(uint64_t op1, uint64_t op2)
828828
//
829829
svcount_t test_svwhilels_c32_vl2(uint64_t op1, uint64_t op2)
830830
{
831-
return SVE_ACLE_FUNC(svwhilels_c32,_u64)(op1, op2, 2);
831+
return SVE_ACLE_FUNC(svwhilele_c32,_u64)(op1, op2, 2);
832832
}
833833

834834
// CHECK-LABEL: @test_svwhilels_c32_vl4(
@@ -843,7 +843,7 @@ svcount_t test_svwhilels_c32_vl2(uint64_t op1, uint64_t op2)
843843
//
844844
svcount_t test_svwhilels_c32_vl4(uint64_t op1, uint64_t op2)
845845
{
846-
return SVE_ACLE_FUNC(svwhilels_c32,_u64)(op1, op2, 4);
846+
return SVE_ACLE_FUNC(svwhilele_c32,_u64)(op1, op2, 4);
847847
}
848848

849849
// CHECK-LABEL: @test_svwhilels_c64_vl2(
@@ -858,7 +858,7 @@ svcount_t test_svwhilels_c32_vl4(uint64_t op1, uint64_t op2)
858858
//
859859
svcount_t test_svwhilels_c64_vl2(uint64_t op1, uint64_t op2)
860860
{
861-
return SVE_ACLE_FUNC(svwhilels_c64,_u64)(op1, op2, 2);
861+
return SVE_ACLE_FUNC(svwhilele_c64,_u64)(op1, op2, 2);
862862
}
863863

864864
// CHECK-LABEL: @test_svwhilels_c64_vl4(
@@ -873,7 +873,7 @@ svcount_t test_svwhilels_c64_vl2(uint64_t op1, uint64_t op2)
873873
//
874874
svcount_t test_svwhilels_c64_vl4(uint64_t op1, uint64_t op2)
875875
{
876-
return SVE_ACLE_FUNC(svwhilels_c64,_u64)(op1, op2, 4);
876+
return SVE_ACLE_FUNC(svwhilele_c64,_u64)(op1, op2, 4);
877877
}
878878

879879

0 commit comments

Comments
 (0)