@@ -418,147 +418,115 @@ void foo11() {
418418
419419// CIR: %[[VEC_A:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["a", init]
420420// CIR: %[[VEC_B:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["b", init]
421- // CIR: %[[ADD_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["c", init]
422- // CIR: %[[SUB_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["d", init]
423- // CIR: %[[MUL_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["e", init]
424- // CIR: %[[DIV_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["f", init]
425- // CIR: %[[REM_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["g", init]
426- // CIR: %[[AND_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["h", init]
427- // CIR: %[[OR_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["i", init]
428- // CIR: %[[XOR_RES:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["j", init]
429- // CIR: %[[CONST_1:.*]] = cir.const #cir.int<1> : !s32i
430- // CIR: %[[CONST_2:.*]] = cir.const #cir.int<2> : !s32i
431- // CIR: %[[CONST_3:.*]] = cir.const #cir.int<3> : !s32i
432- // CIR: %[[CONST_4:.*]] = cir.const #cir.int<4> : !s32i
433- // CIR: %[[VEC_A_VAL:.*]] = cir.vec.create(%[[CONST_1]], %[[CONST_2]], %[[CONST_3]], %[[CONST_4]] :
434- // CIR-SAME: !s32i, !s32i, !s32i, !s32i) : !cir.vector<4 x !s32i>
421+ // CIR: %[[VEC_A_VAL:.*]] = cir.vec.create({{.*}}, {{.*}}, {{.*}}, {{.*}} : !s32i, !s32i, !s32i, !s32i) :
422+ // CIR-SAME: !cir.vector<4 x !s32i>
435423// CIR: cir.store %[[VEC_A_VAL]], %[[VEC_A]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
436- // CIR: %[[CONST_5:.*]] = cir.const #cir.int<5> : !s32i
437- // CIR: %[[CONST_6:.*]] = cir.const #cir.int<6> : !s32i
438- // CIR: %[[CONST_7:.*]] = cir.const #cir.int<7> : !s32i
439- // CIR: %[[CONST_8:.*]] = cir.const #cir.int<8> : !s32i
440- // CIR: %[[VEC_B_VAL:.*]] = cir.vec.create(%[[CONST_5]], %[[CONST_6]], %[[CONST_7]], %[[CONST_8]] :
441- // CIR-SAME: !s32i, !s32i, !s32i, !s32i) : !cir.vector<4 x !s32i>
424+ // CIR: %[[VEC_B_VAL:.*]] = cir.vec.create({{.*}}, {{.*}}, {{.*}}, {{.*}} : !s32i, !s32i, !s32i, !s32i) :
425+ // CIR-SAME: !cir.vector<4 x !s32i>
442426// CIR: cir.store %[[VEC_B_VAL]], %[[VEC_B]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
443427// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
444428// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
445429// CIR: %[[ADD:.*]] = cir.binop(add, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
446- // CIR: cir.store %[[ADD]], %[[ADD_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
430+ // CIR: cir.store %[[ADD]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
447431// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
448432// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
449433// CIR: %[[SUB:.*]] = cir.binop(sub, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
450- // CIR: cir.store %[[SUB]], %[[SUB_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
434+ // CIR: cir.store %[[SUB]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
451435// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
452436// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
453437// CIR: %[[MUL:.*]] = cir.binop(mul, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
454- // CIR: cir.store %[[MUL]], %[[MUL_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
438+ // CIR: cir.store %[[MUL]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
455439// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
456440// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
457441// CIR: %[[DIV:.*]] = cir.binop(div, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
458- // CIR: cir.store %[[DIV]], %[[DIV_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
442+ // CIR: cir.store %[[DIV]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
459443// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
460444// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
461445// CIR: %[[REM:.*]] = cir.binop(rem, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
462- // CIR: cir.store %[[REM]], %[[REM_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
446+ // CIR: cir.store %[[REM]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
463447// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
464448// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
465449// CIR: %[[AND:.*]] = cir.binop(and, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
466- // CIR: cir.store %[[AND]], %[[AND_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
450+ // CIR: cir.store %[[AND]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
467451// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
468452// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
469453// CIR: %[[OR:.*]] = cir.binop(or, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
470- // CIR: cir.store %[[OR]], %[[OR_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
454+ // CIR: cir.store %[[OR]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
471455// CIR: %[[TMP_A:.*]] = cir.load %[[VEC_A]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
472456// CIR: %[[TMP_B:.*]] = cir.load %[[VEC_B]] : !cir.ptr<!cir.vector<4 x !s32i>>, !cir.vector<4 x !s32i>
473457// CIR: %[[XOR:.*]] = cir.binop(xor, %[[TMP_A]], %[[TMP_B]]) : !cir.vector<4 x !s32i>
474- // CIR: cir.store %[[XOR]], %[[XOR_RES]] : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
458+ // CIR: cir.store %[[XOR]], {{.*}} : !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>
475459
476460// LLVM: %[[VEC_A:.*]] = alloca <4 x i32>, i64 1, align 16
477461// LLVM: %[[VEC_B:.*]] = alloca <4 x i32>, i64 1, align 16
478- // LLVM: %[[ADD_RES:.*]] = alloca <4 x i32>, i64 1, align 16
479- // LLVM: %[[SUB_RES:.*]] = alloca <4 x i32>, i64 1, align 16
480- // LLVM: %[[MUL_RES:.*]] = alloca <4 x i32>, i64 1, align 16
481- // LLVM: %[[DIV_RES:.*]] = alloca <4 x i32>, i64 1, align 16
482- // LLVM: %[[REM_RES:.*]] = alloca <4 x i32>, i64 1, align 16
483- // LLVM: %[[AND_RES:.*]] = alloca <4 x i32>, i64 1, align 16
484- // LLVM: %[[OR_RES:.*]] = alloca <4 x i32>, i64 1, align 16
485- // LLVM: %[[XOR_RES:.*]] = alloca <4 x i32>, i64 1, align 16
486462// LLVM: store <4 x i32> <i32 1, i32 2, i32 3, i32 4>, ptr %[[VEC_A]], align 16
487463// LLVM: store <4 x i32> <i32 5, i32 6, i32 7, i32 8>, ptr %[[VEC_B]], align 16
488464// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
489465// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
490466// LLVM: %[[ADD:.*]] = add <4 x i32> %[[TMP_A]], %[[TMP_B]]
491- // LLVM: store <4 x i32> %[[ADD]], ptr %[[ADD_RES]] , align 16
467+ // LLVM: store <4 x i32> %[[ADD]], ptr {{.*}} , align 16
492468// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
493469// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
494470// LLVM: %[[SUB:.*]] = sub <4 x i32> %[[TMP_A]], %[[TMP_B]]
495- // LLVM: store <4 x i32> %[[SUB]], ptr %[[SUB_RES]] , align 16
471+ // LLVM: store <4 x i32> %[[SUB]], ptr {{.*}} , align 16
496472// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
497473// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
498474// LLVM: %[[MUL:.*]] = mul <4 x i32> %[[TMP_A]], %[[TMP_B]]
499- // LLVM: store <4 x i32> %[[MUL]], ptr %[[MUL_RES]] , align 16
475+ // LLVM: store <4 x i32> %[[MUL]], ptr {{.*}} , align 16
500476// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
501477// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
502478// LLVM: %[[DIV:.*]] = sdiv <4 x i32> %[[TMP_A]], %[[TMP_B]]
503- // LLVM: store <4 x i32> %[[DIV]], ptr %[[DIV_RES]] , align 16
479+ // LLVM: store <4 x i32> %[[DIV]], ptr {{.*}} , align 16
504480// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
505481// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
506482// LLVM: %[[REM:.*]] = srem <4 x i32> %[[TMP_A]], %[[TMP_B]]
507- // LLVM: store <4 x i32> %[[REM]], ptr %[[REM_RES]] , align 16
483+ // LLVM: store <4 x i32> %[[REM]], ptr {{.*}} , align 16
508484// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
509485// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
510486// LLVM: %[[AND:.*]] = and <4 x i32> %[[TMP_A]], %[[TMP_B]]
511- // LLVM: store <4 x i32> %[[AND]], ptr %[[AND_RES]] , align 16
487+ // LLVM: store <4 x i32> %[[AND]], ptr {{.*}} , align 16
512488// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
513489// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
514490// LLVM: %[[OR:.*]] = or <4 x i32> %[[TMP_A]], %[[TMP_B]]
515- // LLVM: store <4 x i32> %[[OR]], ptr %[[OR_RES]] , align 16
491+ // LLVM: store <4 x i32> %[[OR]], ptr {{.*}} , align 16
516492// LLVM: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
517493// LLVM: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
518494// LLVM: %[[XOR:.*]] = xor <4 x i32> %[[TMP_A]], %[[TMP_B]]
519- // LLVM: store <4 x i32> %[[XOR]], ptr %[[XOR_RES]] , align 16
495+ // LLVM: store <4 x i32> %[[XOR]], ptr {{.*}} , align 16
520496
521497// OGCG: %[[VEC_A:.*]] = alloca <4 x i32>, align 16
522498// OGCG: %[[VEC_B:.*]] = alloca <4 x i32>, align 16
523- // OGCG: %[[ADD_RES:.*]] = alloca <4 x i32>, align 16
524- // OGCG: %[[SUB_RES:.*]] = alloca <4 x i32>, align 16
525- // OGCG: %[[MUL_RES:.*]] = alloca <4 x i32>, align 16
526- // OGCG: %[[DIV_RES:.*]] = alloca <4 x i32>, align 16
527- // OGCG: %[[REM_RES:.*]] = alloca <4 x i32>, align 16
528- // OGCG: %[[AND_RES:.*]] = alloca <4 x i32>, align 16
529- // OGCG: %[[OR_RES:.*]] = alloca <4 x i32>, align 16
530- // OGCG: %[[XOR_RES:.*]] = alloca <4 x i32>, align 16
531499// OGCG: store <4 x i32> <i32 1, i32 2, i32 3, i32 4>, ptr %[[VEC_A]], align 16
532500// OGCG: store <4 x i32> <i32 5, i32 6, i32 7, i32 8>, ptr %[[VEC_B]], align 16
533501// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
534502// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
535503// OGCG: %[[ADD:.*]] = add <4 x i32> %[[TMP_A]], %[[TMP_B]]
536- // OGCG: store <4 x i32> %[[ADD]], ptr %[[ADD_RES]] , align 16
504+ // OGCG: store <4 x i32> %[[ADD]], ptr {{.*}} , align 16
537505// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
538506// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
539507// OGCG: %[[SUB:.*]] = sub <4 x i32> %[[TMP_A]], %[[TMP_B]]
540- // OGCG: store <4 x i32> %[[SUB]], ptr %[[SUB_RES]] , align 16
508+ // OGCG: store <4 x i32> %[[SUB]], ptr {{.*}} , align 16
541509// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
542510// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
543511// OGCG: %[[MUL:.*]] = mul <4 x i32> %[[TMP_A]], %[[TMP_B]]
544- // OGCG: store <4 x i32> %[[MUL]], ptr %[[MUL_RES]] , align 16
512+ // OGCG: store <4 x i32> %[[MUL]], ptr {{.*}} , align 16
545513// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
546514// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
547515// OGCG: %[[DIV:.*]] = sdiv <4 x i32> %[[TMP_A]], %[[TMP_B]]
548- // OGCG: store <4 x i32> %[[DIV]], ptr %[[DIV_RES]] , align 16
516+ // OGCG: store <4 x i32> %[[DIV]], ptr {{.*}} , align 16
549517// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
550518// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
551519// OGCG: %[[REM:.*]] = srem <4 x i32> %[[TMP_A]], %[[TMP_B]]
552- // OGCG: store <4 x i32> %[[REM]], ptr %[[REM_RES]] , align 16
520+ // OGCG: store <4 x i32> %[[REM]], ptr {{.*}} , align 16
553521// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
554522// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
555523// OGCG: %[[AND:.*]] = and <4 x i32> %[[TMP_A]], %[[TMP_B]]
556- // OGCG: store <4 x i32> %[[AND]], ptr %[[AND_RES]] , align 16
524+ // OGCG: store <4 x i32> %[[AND]], ptr {{.*}} , align 16
557525// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
558526// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
559527// OGCG: %[[OR:.*]] = or <4 x i32> %[[TMP_A]], %[[TMP_B]]
560- // OGCG: store <4 x i32> %[[OR]], ptr %[[OR_RES]] , align 16
528+ // OGCG: store <4 x i32> %[[OR]], ptr {{.*}} , align 16
561529// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
562530// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
563531// OGCG: %[[XOR:.*]] = xor <4 x i32> %[[TMP_A]], %[[TMP_B]]
564- // OGCG: store <4 x i32> %[[XOR]], ptr %[[XOR_RES]] , align 16
532+ // OGCG: store <4 x i32> %[[XOR]], ptr {{.*}}, align 16/ OGCG: store <4 x i32> %[[XOR]], ptr {{.*}} , align 16
0 commit comments