62 lines · plain
1; RUN: llc < %s -mtriple=mips64el -mcpu=mips64r2 -target-abi=n64 | FileCheck %s2 3define i64 @dext(i64 %i) nounwind readnone {4entry:5; CHECK-LABEL: dext:6; CHECK: dext ${{[0-9]+}}, ${{[0-9]+}}, 5, 107 %shr = lshr i64 %i, 58 %and = and i64 %shr, 10239 ret i64 %and10}11 12define i64 @dextm(i64 %i) nounwind readnone {13entry:14; CHECK-LABEL: dextm:15; CHECK: dextm ${{[0-9]+}}, ${{[0-9]+}}, 5, 3416 %shr = lshr i64 %i, 517 %and = and i64 %shr, 1717986918318 ret i64 %and19}20 21define i64 @dextu(i64 %i) nounwind readnone {22entry:23; CHECK-LABEL: dextu:24; CHECK: dextu ${{[0-9]+}}, ${{[0-9]+}}, 34, 625 %shr = lshr i64 %i, 3426 %and = and i64 %shr, 6327 ret i64 %and28}29 30define i64 @dins(i64 %i, i64 %j) nounwind readnone {31entry:32; CHECK-LABEL: dins:33; CHECK: dins ${{[0-9]+}}, ${{[0-9]+}}, 8, 1034 %shl2 = shl i64 %j, 835 %and = and i64 %shl2, 26188836 %and3 = and i64 %i, -26188937 %or = or i64 %and3, %and38 ret i64 %or39}40 41define i64 @dinsm(i64 %i, i64 %j) nounwind readnone {42entry:43; CHECK-LABEL: dinsm:44; CHECK: dinsm ${{[0-9]+}}, ${{[0-9]+}}, 10, 3345 %shl4 = shl i64 %j, 1046 %and = and i64 %shl4, 879609302118447 %and5 = and i64 %i, -879609302118548 %or = or i64 %and5, %and49 ret i64 %or50}51 52define i64 @dinsu(i64 %i, i64 %j) nounwind readnone {53entry:54; CHECK-LABEL: dinsu:55; CHECK: dinsu ${{[0-9]+}}, ${{[0-9]+}}, 40, 1356 %shl4 = shl i64 %j, 4057 %and = and i64 %shl4, 900609974311321658 %and5 = and i64 %i, -900609974311321759 %or = or i64 %and5, %and60 ret i64 %or61}62