@@ -553,26 +553,27 @@ void b1(bool a, bool b) {
553
553
// CIR: [[X:%[0-9]+]] = cir.alloca !cir.bool, !cir.ptr<!cir.bool>, ["x", init]
554
554
// CIR: cir.store %[[ARG0]], [[A]] : !cir.bool, !cir.ptr<!cir.bool>
555
555
// CIR: cir.store %[[ARG1]], [[B]] : !cir.bool, !cir.ptr<!cir.bool>
556
- // CIR: [[AVAL:%[0-9]+]] = cir.load [[A]] : !cir.ptr<!cir.bool>, !cir.bool
556
+ // CIR: [[AVAL:%[0-9]+]] = cir.load align(1) [[A]] : !cir.ptr<!cir.bool>, !cir.bool
557
557
// CIR: [[RES1:%[0-9]+]] = cir.ternary([[AVAL]], true {
558
- // CIR: [[BVAL:%[0-9]+]] = cir.load [[B]] : !cir.ptr<!cir.bool>, !cir.bool
558
+ // CIR: [[BVAL:%[0-9]+]] = cir.load align(1) [[B]] : !cir.ptr<!cir.bool>, !cir.bool
559
559
// CIR: cir.yield [[BVAL]] : !cir.bool
560
560
// CIR: }, false {
561
561
// CIR: [[FALSE:%[0-9]+]] = cir.const #false
562
562
// CIR: cir.yield [[FALSE]] : !cir.bool
563
563
// CIR: }) : (!cir.bool) -> !cir.bool
564
- // CIR: cir.store [[RES1]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
565
- // CIR: [[XVAL:%[0-9]+]] = cir.load [[X]] : !cir.ptr<!cir.bool>, !cir.bool
564
+ // CIR: cir.store align(1) [[RES1]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
565
+ // CIR: [[XVAL:%[0-9]+]] = cir.load align(1) [[X]] : !cir.ptr<!cir.bool>, !cir.bool
566
566
// CIR: [[RES2:%[0-9]+]] = cir.ternary([[XVAL]], true {
567
567
// CIR: [[TRUE:%[0-9]+]] = cir.const #true
568
568
// CIR: cir.yield [[TRUE]] : !cir.bool
569
569
// CIR: }, false {
570
- // CIR: [[BVAL2:%[0-9]+]] = cir.load [[B]] : !cir.ptr<!cir.bool>, !cir.bool
570
+ // CIR: [[BVAL2:%[0-9]+]] = cir.load align(1) [[B]] : !cir.ptr<!cir.bool>, !cir.bool
571
571
// CIR: cir.yield [[BVAL2]] : !cir.bool
572
572
// CIR: }) : (!cir.bool) -> !cir.bool
573
- // CIR: cir.store [[RES2]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
573
+ // CIR: cir.store align(1) [[RES2]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
574
574
// CIR: cir.return
575
575
576
+
576
577
// LLVM-LABEL: define void @_Z2b1bb(
577
578
// LLVM-SAME: i1 %[[ARG0:[0-9]+]], i1 %[[ARG1:[0-9]+]])
578
579
// LLVM: %[[A_ADDR:.*]] = alloca i8, i64 1
@@ -632,34 +633,35 @@ void b3(int a, int b, int c, int d) {
632
633
// CIR: cir.store %[[ARG1]], [[B]] : !s32i, !cir.ptr<!s32i>
633
634
// CIR: cir.store %[[ARG2]], [[C]] : !s32i, !cir.ptr<!s32i>
634
635
// CIR: cir.store %[[ARG3]], [[D]] : !s32i, !cir.ptr<!s32i>
635
- // CIR: [[AVAL1:%[0-9]+]] = cir.load [[A]] : !cir.ptr<!s32i>, !s32i
636
- // CIR: [[BVAL1:%[0-9]+]] = cir.load [[B]] : !cir.ptr<!s32i>, !s32i
636
+ // CIR: [[AVAL1:%[0-9]+]] = cir.load align(4) [[A]] : !cir.ptr<!s32i>, !s32i
637
+ // CIR: [[BVAL1:%[0-9]+]] = cir.load align(4) [[B]] : !cir.ptr<!s32i>, !s32i
637
638
// CIR: [[CMP1:%[0-9]+]] = cir.cmp(eq, [[AVAL1]], [[BVAL1]]) : !s32i, !cir.bool
638
639
// CIR: [[AND_RESULT:%[0-9]+]] = cir.ternary([[CMP1]], true {
639
- // CIR: [[CVAL1:%[0-9]+]] = cir.load [[C]] : !cir.ptr<!s32i>, !s32i
640
- // CIR: [[DVAL1:%[0-9]+]] = cir.load [[D]] : !cir.ptr<!s32i>, !s32i
640
+ // CIR: [[CVAL1:%[0-9]+]] = cir.load align(4) [[C]] : !cir.ptr<!s32i>, !s32i
641
+ // CIR: [[DVAL1:%[0-9]+]] = cir.load align(4) [[D]] : !cir.ptr<!s32i>, !s32i
641
642
// CIR: [[CMP2:%[0-9]+]] = cir.cmp(eq, [[CVAL1]], [[DVAL1]]) : !s32i, !cir.bool
642
643
// CIR: cir.yield [[CMP2]] : !cir.bool
643
644
// CIR: }, false {
644
645
// CIR: [[FALSE:%[0-9]+]] = cir.const #false
645
646
// CIR: cir.yield [[FALSE]] : !cir.bool
646
647
// CIR: }) : (!cir.bool) -> !cir.bool
647
- // CIR: cir.store [[AND_RESULT]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
648
- // CIR: [[AVAL2:%[0-9]+]] = cir.load [[A]] : !cir.ptr<!s32i>, !s32i
649
- // CIR: [[BVAL2:%[0-9]+]] = cir.load [[B]] : !cir.ptr<!s32i>, !s32i
648
+ // CIR: cir.store align(1) [[AND_RESULT]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
649
+ // CIR: [[AVAL2:%[0-9]+]] = cir.load align(4) [[A]] : !cir.ptr<!s32i>, !s32i
650
+ // CIR: [[BVAL2:%[0-9]+]] = cir.load align(4) [[B]] : !cir.ptr<!s32i>, !s32i
650
651
// CIR: [[CMP3:%[0-9]+]] = cir.cmp(eq, [[AVAL2]], [[BVAL2]]) : !s32i, !cir.bool
651
652
// CIR: [[OR_RESULT:%[0-9]+]] = cir.ternary([[CMP3]], true {
652
653
// CIR: [[TRUE:%[0-9]+]] = cir.const #true
653
654
// CIR: cir.yield [[TRUE]] : !cir.bool
654
655
// CIR: }, false {
655
- // CIR: [[CVAL2:%[0-9]+]] = cir.load [[C]] : !cir.ptr<!s32i>, !s32i
656
- // CIR: [[DVAL2:%[0-9]+]] = cir.load [[D]] : !cir.ptr<!s32i>, !s32i
656
+ // CIR: [[CVAL2:%[0-9]+]] = cir.load align(4) [[C]] : !cir.ptr<!s32i>, !s32i
657
+ // CIR: [[DVAL2:%[0-9]+]] = cir.load align(4) [[D]] : !cir.ptr<!s32i>, !s32i
657
658
// CIR: [[CMP4:%[0-9]+]] = cir.cmp(eq, [[CVAL2]], [[DVAL2]]) : !s32i, !cir.bool
658
659
// CIR: cir.yield [[CMP4]] : !cir.bool
659
660
// CIR: }) : (!cir.bool) -> !cir.bool
660
- // CIR: cir.store [[OR_RESULT]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
661
+ // CIR: cir.store align(1) [[OR_RESULT]], [[X]] : !cir.bool, !cir.ptr<!cir.bool>
661
662
// CIR: cir.return
662
663
664
+
663
665
// LLVM-LABEL: define void @_Z2b3iiii(
664
666
// LLVM-SAME: i32 %[[ARG0:[0-9]+]], i32 %[[ARG1:[0-9]+]], i32 %[[ARG2:[0-9]+]], i32 %[[ARG3:[0-9]+]])
665
667
// LLVM: %[[A_ADDR:.*]] = alloca i32, i64 1
0 commit comments