brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.5 KiB · f845344 Raw
353 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3define i8 @p0i8() {4; CHECK-LABEL: p0i8:5; CHECK:       # %bb.0:6; CHECK-NEXT:    or %s0, 0, (0)17; CHECK-NEXT:    b.l.t (, %s10)8  ret i8 09}10 11define signext i8 @p0si8() {12; CHECK-LABEL: p0si8:13; CHECK:       # %bb.0:14; CHECK-NEXT:    or %s0, 0, (0)115; CHECK-NEXT:    b.l.t (, %s10)16  ret i8 017}18 19define zeroext i8 @p0zi8() {20; CHECK-LABEL: p0zi8:21; CHECK:       # %bb.0:22; CHECK-NEXT:    or %s0, 0, (0)123; CHECK-NEXT:    b.l.t (, %s10)24  ret i8 025}26 27define i8 @p128i8() {28; CHECK-LABEL: p128i8:29; CHECK:       # %bb.0:30; CHECK-NEXT:    lea %s0, 12831; CHECK-NEXT:    b.l.t (, %s10)32  ret i8 12833}34 35define signext i8 @p128si8() {36; CHECK-LABEL: p128si8:37; CHECK:       # %bb.0:38; CHECK-NEXT:    lea %s0, -12839; CHECK-NEXT:    b.l.t (, %s10)40  ret i8 12841}42 43define zeroext i8 @p128zi8() {44; CHECK-LABEL: p128zi8:45; CHECK:       # %bb.0:46; CHECK-NEXT:    lea %s0, 12847; CHECK-NEXT:    b.l.t (, %s10)48  ret i8 12849}50 51define i8 @p256i8() {52; CHECK-LABEL: p256i8:53; CHECK:       # %bb.0:54; CHECK-NEXT:    or %s0, 0, (0)155; CHECK-NEXT:    b.l.t (, %s10)56  ret i8 25657}58 59define signext i8 @p256si8() {60; CHECK-LABEL: p256si8:61; CHECK:       # %bb.0:62; CHECK-NEXT:    or %s0, 0, (0)163; CHECK-NEXT:    b.l.t (, %s10)64  ret i8 25665}66 67define zeroext i8 @p256zi8() {68; CHECK-LABEL: p256zi8:69; CHECK:       # %bb.0:70; CHECK-NEXT:    or %s0, 0, (0)171; CHECK-NEXT:    b.l.t (, %s10)72  ret i8 25673}74 75define i16 @p0i16() {76; CHECK-LABEL: p0i16:77; CHECK:       # %bb.0:78; CHECK-NEXT:    or %s0, 0, (0)179; CHECK-NEXT:    b.l.t (, %s10)80  ret i16 081}82 83define signext i16 @p0si16() {84; CHECK-LABEL: p0si16:85; CHECK:       # %bb.0:86; CHECK-NEXT:    or %s0, 0, (0)187; CHECK-NEXT:    b.l.t (, %s10)88  ret i16 089}90 91define zeroext i16 @p0zi16() {92; CHECK-LABEL: p0zi16:93; CHECK:       # %bb.0:94; CHECK-NEXT:    or %s0, 0, (0)195; CHECK-NEXT:    b.l.t (, %s10)96  ret i16 097}98 99define i32 @p0i32() {100; CHECK-LABEL: p0i32:101; CHECK:       # %bb.0:102; CHECK-NEXT:    or %s0, 0, (0)1103; CHECK-NEXT:    b.l.t (, %s10)104  ret i32 0105}106 107define signext i32 @p0si32() {108; CHECK-LABEL: p0si32:109; CHECK:       # %bb.0:110; CHECK-NEXT:    or %s0, 0, (0)1111; CHECK-NEXT:    b.l.t (, %s10)112  ret i32 0113}114 115define zeroext i32 @p0zi32() {116; CHECK-LABEL: p0zi32:117; CHECK:       # %bb.0:118; CHECK-NEXT:    or %s0, 0, (0)1119; CHECK-NEXT:    b.l.t (, %s10)120  ret i32 0121}122 123define i32 @p128i32() {124; CHECK-LABEL: p128i32:125; CHECK:       # %bb.0:126; CHECK-NEXT:    lea %s0, 128127; CHECK-NEXT:    b.l.t (, %s10)128  ret i32 128129}130 131define signext i32 @p128si32() {132; CHECK-LABEL: p128si32:133; CHECK:       # %bb.0:134; CHECK-NEXT:    lea %s0, 128135; CHECK-NEXT:    b.l.t (, %s10)136  ret i32 128137}138 139define zeroext i32 @p128zi32() {140; CHECK-LABEL: p128zi32:141; CHECK:       # %bb.0:142; CHECK-NEXT:    lea %s0, 128143; CHECK-NEXT:    b.l.t (, %s10)144  ret i32 128145}146 147define i64 @p0i64() {148; CHECK-LABEL: p0i64:149; CHECK:       # %bb.0:150; CHECK-NEXT:    or %s0, 0, (0)1151; CHECK-NEXT:    b.l.t (, %s10)152  ret i64 0153}154 155define signext i64 @p0si64() {156; CHECK-LABEL: p0si64:157; CHECK:       # %bb.0:158; CHECK-NEXT:    or %s0, 0, (0)1159; CHECK-NEXT:    b.l.t (, %s10)160  ret i64 0161}162 163define zeroext i64 @p0zi64() {164; CHECK-LABEL: p0zi64:165; CHECK:       # %bb.0:166; CHECK-NEXT:    or %s0, 0, (0)1167; CHECK-NEXT:    b.l.t (, %s10)168  ret i64 0169}170 171define i64 @p128i64() {172; CHECK-LABEL: p128i64:173; CHECK:       # %bb.0:174; CHECK-NEXT:    lea %s0, 128175; CHECK-NEXT:    b.l.t (, %s10)176  ret i64 128177}178 179define signext i64 @p128si64() {180; CHECK-LABEL: p128si64:181; CHECK:       # %bb.0:182; CHECK-NEXT:    lea %s0, 128183; CHECK-NEXT:    b.l.t (, %s10)184  ret i64 128185}186 187define zeroext i64 @p128zi64() {188; CHECK-LABEL: p128zi64:189; CHECK:       # %bb.0:190; CHECK-NEXT:    lea %s0, 128191; CHECK-NEXT:    b.l.t (, %s10)192  ret i64 128193}194 195define i64 @p2264924160i64() {196; CHECK-LABEL: p2264924160i64:197; CHECK:       # %bb.0:198; CHECK-NEXT:    lea %s0, -2030043136199; CHECK-NEXT:    and %s0, %s0, (32)0200; CHECK-NEXT:    b.l.t (, %s10)201  ret i64 2264924160202}203 204define signext i64 @p2264924160si64() {205; CHECK-LABEL: p2264924160si64:206; CHECK:       # %bb.0:207; CHECK-NEXT:    lea %s0, -2030043136208; CHECK-NEXT:    and %s0, %s0, (32)0209; CHECK-NEXT:    b.l.t (, %s10)210  ret i64 2264924160211}212 213define zeroext i64 @p2264924160zi64() {214; CHECK-LABEL: p2264924160zi64:215; CHECK:       # %bb.0:216; CHECK-NEXT:    lea %s0, -2030043136217; CHECK-NEXT:    and %s0, %s0, (32)0218; CHECK-NEXT:    b.l.t (, %s10)219  ret i64 2264924160220}221 222define i64 @p2147483647i64() {223; CHECK-LABEL: p2147483647i64:224; CHECK:       # %bb.0:225; CHECK-NEXT:    lea %s0, 2147483647226; CHECK-NEXT:    b.l.t (, %s10)227  ret i64 2147483647228}229 230define signext i64 @p2147483647si64() {231; CHECK-LABEL: p2147483647si64:232; CHECK:       # %bb.0:233; CHECK-NEXT:    lea %s0, 2147483647234; CHECK-NEXT:    b.l.t (, %s10)235  ret i64 2147483647236}237 238define zeroext i64 @p2147483647zi64() {239; CHECK-LABEL: p2147483647zi64:240; CHECK:       # %bb.0:241; CHECK-NEXT:    lea %s0, 2147483647242; CHECK-NEXT:    b.l.t (, %s10)243  ret i64 2147483647244}245 246define i64 @p15032385535i64() {247; CHECK-LABEL: p15032385535i64:248; CHECK:       # %bb.0:249; CHECK-NEXT:    lea %s0, 2147483647250; CHECK-NEXT:    lea.sl %s0, 3(, %s0)251; CHECK-NEXT:    b.l.t (, %s10)252  ret i64 15032385535253}254 255define signext i64 @p15032385535si64() {256; CHECK-LABEL: p15032385535si64:257; CHECK:       # %bb.0:258; CHECK-NEXT:    lea %s0, 2147483647259; CHECK-NEXT:    lea.sl %s0, 3(, %s0)260; CHECK-NEXT:    b.l.t (, %s10)261  ret i64 15032385535262}263 264define zeroext i64 @p15032385535zi64() {265; CHECK-LABEL: p15032385535zi64:266; CHECK:       # %bb.0:267; CHECK-NEXT:    lea %s0, 2147483647268; CHECK-NEXT:    lea.sl %s0, 3(, %s0)269; CHECK-NEXT:    b.l.t (, %s10)270  ret i64 15032385535271}272 273define i64 @p15032385536i64() {274; CHECK-LABEL: p15032385536i64:275; CHECK:       # %bb.0:276; CHECK-NEXT:    lea %s0, -2147483648277; CHECK-NEXT:    and %s0, %s0, (32)0278; CHECK-NEXT:    lea.sl %s0, 3(, %s0)279; CHECK-NEXT:    b.l.t (, %s10)280  ret i64 15032385536281}282 283define signext i64 @p15032385536si64() {284; CHECK-LABEL: p15032385536si64:285; CHECK:       # %bb.0:286; CHECK-NEXT:    lea %s0, -2147483648287; CHECK-NEXT:    and %s0, %s0, (32)0288; CHECK-NEXT:    lea.sl %s0, 3(, %s0)289; CHECK-NEXT:    b.l.t (, %s10)290  ret i64 15032385536291}292 293define zeroext i64 @p15032385536zi64() {294; CHECK-LABEL: p15032385536zi64:295; CHECK:       # %bb.0:296; CHECK-NEXT:    lea %s0, -2147483648297; CHECK-NEXT:    and %s0, %s0, (32)0298; CHECK-NEXT:    lea.sl %s0, 3(, %s0)299; CHECK-NEXT:    b.l.t (, %s10)300  ret i64 15032385536301}302 303define float @m5f32() {304; CHECK-LABEL: m5f32:305; CHECK:       # %bb.0:306; CHECK-NEXT:    lea.sl %s0, -1063256064307; CHECK-NEXT:    b.l.t (, %s10)308  ret float -5.000000e+00309}310 311define double @m5f64() {312; CHECK-LABEL: m5f64:313; CHECK:       # %bb.0:314; CHECK-NEXT:    lea.sl %s0, -1072431104315; CHECK-NEXT:    b.l.t (, %s10)316  ret double -5.000000e+00317}318 319define float @p2p3f32() {320; CHECK-LABEL: p2p3f32:321; CHECK:       # %bb.0:322; CHECK-NEXT:    lea.sl %s0, 1075000115323; CHECK-NEXT:    b.l.t (, %s10)324  ret float 0x4002666660000000 ; 2.3325}326 327define double @p2p3f64() {328; CHECK-LABEL: p2p3f64:329; CHECK:       # %bb.0:330; CHECK-NEXT:    lea %s0, 1717986918331; CHECK-NEXT:    lea.sl %s0, 1073899110(, %s0)332; CHECK-NEXT:    b.l.t (, %s10)333  ret double 2.3334}335 336define float @p128p3f32() {337; CHECK-LABEL: p128p3f32:338; CHECK:       # %bb.0:339; CHECK-NEXT:    lea.sl %s0, 1124093133340; CHECK-NEXT:    b.l.t (, %s10)341  ret float 0x40600999A0000000 ; 128.3342}343 344define double @p128p3f64() {345; CHECK-LABEL: p128p3f64:346; CHECK:       # %bb.0:347; CHECK-NEXT:    lea %s0, -1717986918348; CHECK-NEXT:    and %s0, %s0, (32)0349; CHECK-NEXT:    lea.sl %s0, 1080035737(, %s0)350; CHECK-NEXT:    b.l.t (, %s10)351  ret double 128.3352}353