brintos

brintos / llvm-project-archived public Read only

0
0
Text · 186.4 KiB · 02ae8d2 Raw
5726 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=mips-elf -O0 -mcpu=mips32r2 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS3; RUN: llc -mtriple=mips-elf -O0 -mcpu=mips32r6 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPSR64; RUN: llc -mtriple=mips-elf -O0 -mcpu=mips32r2 -mattr=+micromips -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MM5; RUN: llc -mtriple=mips-elf -O0 -mcpu=mips32r6 -mattr=+micromips -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MMR66; RUN: llc -mtriple=mipsel-elf -O0 -mcpu=mips2 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS27; RUN: llc -mtriple=mipsel-elf -O0 -mcpu=mips32 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS328; RUN: llc -mtriple=mipsel-elf -O0 -mcpu=mips32r2 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPSEL9; RUN: llc -mtriple=mipsel-elf -O0 -mcpu=mips32r6 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPSELR610; RUN: llc -mtriple=mipsel-elf -O0 -mcpu=mips32r2 -mattr=+micromips -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MMEL11; RUN: llc -mtriple=mipsel-elf -O0 -mcpu=mips32r6 -mattr=+micromips -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MMELR612; RUN: llc -mtriple=mips64-elf -O0 -mcpu=mips64r2 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS6413; RUN: llc -mtriple=mips64-elf -O0 -mcpu=mips64r6 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS64R614; RUN: llc -mtriple=mips64el-elf -O0 -mcpu=mips64r2 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS64EL15; RUN: llc -mtriple=mips64el-elf -O0 -mcpu=mips64r6 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=MIPS64ELR616 17define i32 @test_max_32(ptr nocapture %ptr, i32 signext %val) {18; MIPS-LABEL: test_max_32:19; MIPS:       # %bb.0: # %entry20; MIPS-NEXT:    sync21; MIPS-NEXT:  $BB0_1: # %entry22; MIPS-NEXT:    # =>This Inner Loop Header: Depth=123; MIPS-NEXT:    ll $2, 0($4)24; MIPS-NEXT:    slt $3, $2, $525; MIPS-NEXT:    move $1, $226; MIPS-NEXT:    movn $1, $5, $327; MIPS-NEXT:    sc $1, 0($4)28; MIPS-NEXT:    beqz $1, $BB0_129; MIPS-NEXT:    nop30; MIPS-NEXT:  # %bb.2: # %entry31; MIPS-NEXT:    sync32; MIPS-NEXT:    jr $ra33; MIPS-NEXT:    nop34;35; MIPS2-LABEL: test_max_32:36; MIPS2:       # %bb.0: # %entry37; MIPS2-NEXT:    sync38; MIPS2-NEXT:  $BB0_1: # %entry39; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=140; MIPS2-NEXT:    ll $2, 0($4)41; MIPS2-NEXT:    slt $3, $2, $542; MIPS2-NEXT:    move $1, $543; MIPS2-NEXT:    beqz $3, $BB0_344; MIPS2-NEXT:    nop45; MIPS2-NEXT:  # %bb.2: # %entry46; MIPS2-NEXT:    # in Loop: Header=BB0_1 Depth=147; MIPS2-NEXT:    j $BB0_448; MIPS2-NEXT:    nop49; MIPS2-NEXT:  $BB0_3: # %entry50; MIPS2-NEXT:    # in Loop: Header=BB0_1 Depth=151; MIPS2-NEXT:    move $1, $252; MIPS2-NEXT:  $BB0_4: # %entry53; MIPS2-NEXT:    # in Loop: Header=BB0_1 Depth=154; MIPS2-NEXT:    sc $1, 0($4)55; MIPS2-NEXT:    beqz $1, $BB0_156; MIPS2-NEXT:    nop57; MIPS2-NEXT:  # %bb.5: # %entry58; MIPS2-NEXT:    sync59; MIPS2-NEXT:    jr $ra60; MIPS2-NEXT:    nop61;62; MIPSR6-LABEL: test_max_32:63; MIPSR6:       # %bb.0: # %entry64; MIPSR6-NEXT:    sync65; MIPSR6-NEXT:  $BB0_1: # %entry66; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=167; MIPSR6-NEXT:    ll $2, 0($4)68; MIPSR6-NEXT:    slt $3, $2, $569; MIPSR6-NEXT:    seleqz $1, $2, $370; MIPSR6-NEXT:    selnez $3, $5, $371; MIPSR6-NEXT:    or $1, $1, $372; MIPSR6-NEXT:    sc $1, 0($4)73; MIPSR6-NEXT:    beqzc $1, $BB0_174; MIPSR6-NEXT:  # %bb.2: # %entry75; MIPSR6-NEXT:    sync76; MIPSR6-NEXT:    jrc $ra77;78; MM-LABEL: test_max_32:79; MM:       # %bb.0: # %entry80; MM-NEXT:    sync81; MM-NEXT:  $BB0_1: # %entry82; MM-NEXT:    # =>This Inner Loop Header: Depth=183; MM-NEXT:    ll $2, 0($4)84; MM-NEXT:    slt $3, $2, $585; MM-NEXT:    or $1, $2, $zero86; MM-NEXT:    movn $1, $5, $387; MM-NEXT:    sc $1, 0($4)88; MM-NEXT:    beqzc $1, $BB0_189; MM-NEXT:  # %bb.2: # %entry90; MM-NEXT:    sync91; MM-NEXT:    jrc $ra92;93; MMR6-LABEL: test_max_32:94; MMR6:       # %bb.0: # %entry95; MMR6-NEXT:    sync96; MMR6-NEXT:  $BB0_1: # %entry97; MMR6-NEXT:    # =>This Inner Loop Header: Depth=198; MMR6-NEXT:    ll $2, 0($4)99; MMR6-NEXT:    slt $3, $2, $5100; MMR6-NEXT:    seleqz $1, $2, $3101; MMR6-NEXT:    selnez $3, $5, $3102; MMR6-NEXT:    or $1, $1, $3103; MMR6-NEXT:    sc $1, 0($4)104; MMR6-NEXT:    beqc $1, $zero, $BB0_1105; MMR6-NEXT:  # %bb.2: # %entry106; MMR6-NEXT:    sync107; MMR6-NEXT:    jrc $ra108;109; MIPS32-LABEL: test_max_32:110; MIPS32:       # %bb.0: # %entry111; MIPS32-NEXT:    sync112; MIPS32-NEXT:  $BB0_1: # %entry113; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=1114; MIPS32-NEXT:    ll $2, 0($4)115; MIPS32-NEXT:    slt $3, $2, $5116; MIPS32-NEXT:    move $1, $2117; MIPS32-NEXT:    movn $1, $5, $3118; MIPS32-NEXT:    sc $1, 0($4)119; MIPS32-NEXT:    beqz $1, $BB0_1120; MIPS32-NEXT:    nop121; MIPS32-NEXT:  # %bb.2: # %entry122; MIPS32-NEXT:    sync123; MIPS32-NEXT:    jr $ra124; MIPS32-NEXT:    nop125;126; MIPSEL-LABEL: test_max_32:127; MIPSEL:       # %bb.0: # %entry128; MIPSEL-NEXT:    sync129; MIPSEL-NEXT:  $BB0_1: # %entry130; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=1131; MIPSEL-NEXT:    ll $2, 0($4)132; MIPSEL-NEXT:    slt $3, $2, $5133; MIPSEL-NEXT:    move $1, $2134; MIPSEL-NEXT:    movn $1, $5, $3135; MIPSEL-NEXT:    sc $1, 0($4)136; MIPSEL-NEXT:    beqz $1, $BB0_1137; MIPSEL-NEXT:    nop138; MIPSEL-NEXT:  # %bb.2: # %entry139; MIPSEL-NEXT:    sync140; MIPSEL-NEXT:    jr $ra141; MIPSEL-NEXT:    nop142;143; MIPSELR6-LABEL: test_max_32:144; MIPSELR6:       # %bb.0: # %entry145; MIPSELR6-NEXT:    sync146; MIPSELR6-NEXT:  $BB0_1: # %entry147; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=1148; MIPSELR6-NEXT:    ll $2, 0($4)149; MIPSELR6-NEXT:    slt $3, $2, $5150; MIPSELR6-NEXT:    seleqz $1, $2, $3151; MIPSELR6-NEXT:    selnez $3, $5, $3152; MIPSELR6-NEXT:    or $1, $1, $3153; MIPSELR6-NEXT:    sc $1, 0($4)154; MIPSELR6-NEXT:    beqzc $1, $BB0_1155; MIPSELR6-NEXT:  # %bb.2: # %entry156; MIPSELR6-NEXT:    sync157; MIPSELR6-NEXT:    jrc $ra158;159; MMEL-LABEL: test_max_32:160; MMEL:       # %bb.0: # %entry161; MMEL-NEXT:    sync162; MMEL-NEXT:  $BB0_1: # %entry163; MMEL-NEXT:    # =>This Inner Loop Header: Depth=1164; MMEL-NEXT:    ll $2, 0($4)165; MMEL-NEXT:    slt $3, $2, $5166; MMEL-NEXT:    or $1, $2, $zero167; MMEL-NEXT:    movn $1, $5, $3168; MMEL-NEXT:    sc $1, 0($4)169; MMEL-NEXT:    beqzc $1, $BB0_1170; MMEL-NEXT:  # %bb.2: # %entry171; MMEL-NEXT:    sync172; MMEL-NEXT:    jrc $ra173;174; MMELR6-LABEL: test_max_32:175; MMELR6:       # %bb.0: # %entry176; MMELR6-NEXT:    sync177; MMELR6-NEXT:  $BB0_1: # %entry178; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=1179; MMELR6-NEXT:    ll $2, 0($4)180; MMELR6-NEXT:    slt $3, $2, $5181; MMELR6-NEXT:    seleqz $1, $2, $3182; MMELR6-NEXT:    selnez $3, $5, $3183; MMELR6-NEXT:    or $1, $1, $3184; MMELR6-NEXT:    sc $1, 0($4)185; MMELR6-NEXT:    beqc $1, $zero, $BB0_1186; MMELR6-NEXT:  # %bb.2: # %entry187; MMELR6-NEXT:    sync188; MMELR6-NEXT:    jrc $ra189;190; MIPS64-LABEL: test_max_32:191; MIPS64:       # %bb.0: # %entry192; MIPS64-NEXT:    # kill: def $a1 killed $a1 killed $a1_64193; MIPS64-NEXT:    sync194; MIPS64-NEXT:  .LBB0_1: # %entry195; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=1196; MIPS64-NEXT:    ll $2, 0($4)197; MIPS64-NEXT:    slt $3, $2, $5198; MIPS64-NEXT:    move $1, $2199; MIPS64-NEXT:    movn $1, $5, $3200; MIPS64-NEXT:    sc $1, 0($4)201; MIPS64-NEXT:    beqz $1, .LBB0_1202; MIPS64-NEXT:    nop203; MIPS64-NEXT:  # %bb.2: # %entry204; MIPS64-NEXT:    sync205; MIPS64-NEXT:    jr $ra206; MIPS64-NEXT:    nop207;208; MIPS64R6-LABEL: test_max_32:209; MIPS64R6:       # %bb.0: # %entry210; MIPS64R6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64211; MIPS64R6-NEXT:    sync212; MIPS64R6-NEXT:  .LBB0_1: # %entry213; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=1214; MIPS64R6-NEXT:    ll $2, 0($4)215; MIPS64R6-NEXT:    slt $3, $2, $5216; MIPS64R6-NEXT:    seleqz $1, $2, $3217; MIPS64R6-NEXT:    selnez $3, $5, $3218; MIPS64R6-NEXT:    or $1, $1, $3219; MIPS64R6-NEXT:    sc $1, 0($4)220; MIPS64R6-NEXT:    beqzc $1, .LBB0_1221; MIPS64R6-NEXT:  # %bb.2: # %entry222; MIPS64R6-NEXT:    sync223; MIPS64R6-NEXT:    jrc $ra224;225; MIPS64EL-LABEL: test_max_32:226; MIPS64EL:       # %bb.0: # %entry227; MIPS64EL-NEXT:    # kill: def $a1 killed $a1 killed $a1_64228; MIPS64EL-NEXT:    sync229; MIPS64EL-NEXT:  .LBB0_1: # %entry230; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=1231; MIPS64EL-NEXT:    ll $2, 0($4)232; MIPS64EL-NEXT:    slt $3, $2, $5233; MIPS64EL-NEXT:    move $1, $2234; MIPS64EL-NEXT:    movn $1, $5, $3235; MIPS64EL-NEXT:    sc $1, 0($4)236; MIPS64EL-NEXT:    beqz $1, .LBB0_1237; MIPS64EL-NEXT:    nop238; MIPS64EL-NEXT:  # %bb.2: # %entry239; MIPS64EL-NEXT:    sync240; MIPS64EL-NEXT:    jr $ra241; MIPS64EL-NEXT:    nop242;243; MIPS64ELR6-LABEL: test_max_32:244; MIPS64ELR6:       # %bb.0: # %entry245; MIPS64ELR6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64246; MIPS64ELR6-NEXT:    sync247; MIPS64ELR6-NEXT:  .LBB0_1: # %entry248; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=1249; MIPS64ELR6-NEXT:    ll $2, 0($4)250; MIPS64ELR6-NEXT:    slt $3, $2, $5251; MIPS64ELR6-NEXT:    seleqz $1, $2, $3252; MIPS64ELR6-NEXT:    selnez $3, $5, $3253; MIPS64ELR6-NEXT:    or $1, $1, $3254; MIPS64ELR6-NEXT:    sc $1, 0($4)255; MIPS64ELR6-NEXT:    beqzc $1, .LBB0_1256; MIPS64ELR6-NEXT:  # %bb.2: # %entry257; MIPS64ELR6-NEXT:    sync258; MIPS64ELR6-NEXT:    jrc $ra259entry:260  %0 = atomicrmw max ptr %ptr, i32 %val seq_cst261  ret i32 %0262}263 264define i32 @test_min_32(ptr nocapture %ptr, i32 signext %val) {265; MIPS-LABEL: test_min_32:266; MIPS:       # %bb.0: # %entry267; MIPS-NEXT:    sync268; MIPS-NEXT:  $BB1_1: # %entry269; MIPS-NEXT:    # =>This Inner Loop Header: Depth=1270; MIPS-NEXT:    ll $2, 0($4)271; MIPS-NEXT:    slt $3, $2, $5272; MIPS-NEXT:    move $1, $2273; MIPS-NEXT:    movz $1, $5, $3274; MIPS-NEXT:    sc $1, 0($4)275; MIPS-NEXT:    beqz $1, $BB1_1276; MIPS-NEXT:    nop277; MIPS-NEXT:  # %bb.2: # %entry278; MIPS-NEXT:    sync279; MIPS-NEXT:    jr $ra280; MIPS-NEXT:    nop281;282; MIPS2-LABEL: test_min_32:283; MIPS2:       # %bb.0: # %entry284; MIPS2-NEXT:    sync285; MIPS2-NEXT:  $BB1_1: # %entry286; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=1287; MIPS2-NEXT:    ll $2, 0($4)288; MIPS2-NEXT:    slt $3, $2, $5289; MIPS2-NEXT:    move $1, $2290; MIPS2-NEXT:    beqz $3, $BB1_3291; MIPS2-NEXT:    nop292; MIPS2-NEXT:  # %bb.2: # %entry293; MIPS2-NEXT:    # in Loop: Header=BB1_1 Depth=1294; MIPS2-NEXT:    j $BB1_4295; MIPS2-NEXT:    nop296; MIPS2-NEXT:  $BB1_3: # %entry297; MIPS2-NEXT:    # in Loop: Header=BB1_1 Depth=1298; MIPS2-NEXT:    move $1, $5299; MIPS2-NEXT:  $BB1_4: # %entry300; MIPS2-NEXT:    # in Loop: Header=BB1_1 Depth=1301; MIPS2-NEXT:    sc $1, 0($4)302; MIPS2-NEXT:    beqz $1, $BB1_1303; MIPS2-NEXT:    nop304; MIPS2-NEXT:  # %bb.5: # %entry305; MIPS2-NEXT:    sync306; MIPS2-NEXT:    jr $ra307; MIPS2-NEXT:    nop308;309; MIPSR6-LABEL: test_min_32:310; MIPSR6:       # %bb.0: # %entry311; MIPSR6-NEXT:    sync312; MIPSR6-NEXT:  $BB1_1: # %entry313; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=1314; MIPSR6-NEXT:    ll $2, 0($4)315; MIPSR6-NEXT:    slt $3, $2, $5316; MIPSR6-NEXT:    selnez $1, $2, $3317; MIPSR6-NEXT:    seleqz $3, $5, $3318; MIPSR6-NEXT:    or $1, $1, $3319; MIPSR6-NEXT:    sc $1, 0($4)320; MIPSR6-NEXT:    beqzc $1, $BB1_1321; MIPSR6-NEXT:  # %bb.2: # %entry322; MIPSR6-NEXT:    sync323; MIPSR6-NEXT:    jrc $ra324;325; MM-LABEL: test_min_32:326; MM:       # %bb.0: # %entry327; MM-NEXT:    sync328; MM-NEXT:  $BB1_1: # %entry329; MM-NEXT:    # =>This Inner Loop Header: Depth=1330; MM-NEXT:    ll $2, 0($4)331; MM-NEXT:    slt $3, $2, $5332; MM-NEXT:    or $1, $2, $zero333; MM-NEXT:    movz $1, $5, $3334; MM-NEXT:    sc $1, 0($4)335; MM-NEXT:    beqzc $1, $BB1_1336; MM-NEXT:  # %bb.2: # %entry337; MM-NEXT:    sync338; MM-NEXT:    jrc $ra339;340; MMR6-LABEL: test_min_32:341; MMR6:       # %bb.0: # %entry342; MMR6-NEXT:    sync343; MMR6-NEXT:  $BB1_1: # %entry344; MMR6-NEXT:    # =>This Inner Loop Header: Depth=1345; MMR6-NEXT:    ll $2, 0($4)346; MMR6-NEXT:    slt $3, $2, $5347; MMR6-NEXT:    selnez $1, $2, $3348; MMR6-NEXT:    seleqz $3, $5, $3349; MMR6-NEXT:    or $1, $1, $3350; MMR6-NEXT:    sc $1, 0($4)351; MMR6-NEXT:    beqc $1, $zero, $BB1_1352; MMR6-NEXT:  # %bb.2: # %entry353; MMR6-NEXT:    sync354; MMR6-NEXT:    jrc $ra355;356; MIPS32-LABEL: test_min_32:357; MIPS32:       # %bb.0: # %entry358; MIPS32-NEXT:    sync359; MIPS32-NEXT:  $BB1_1: # %entry360; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=1361; MIPS32-NEXT:    ll $2, 0($4)362; MIPS32-NEXT:    slt $3, $2, $5363; MIPS32-NEXT:    move $1, $2364; MIPS32-NEXT:    movz $1, $5, $3365; MIPS32-NEXT:    sc $1, 0($4)366; MIPS32-NEXT:    beqz $1, $BB1_1367; MIPS32-NEXT:    nop368; MIPS32-NEXT:  # %bb.2: # %entry369; MIPS32-NEXT:    sync370; MIPS32-NEXT:    jr $ra371; MIPS32-NEXT:    nop372;373; MIPSEL-LABEL: test_min_32:374; MIPSEL:       # %bb.0: # %entry375; MIPSEL-NEXT:    sync376; MIPSEL-NEXT:  $BB1_1: # %entry377; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=1378; MIPSEL-NEXT:    ll $2, 0($4)379; MIPSEL-NEXT:    slt $3, $2, $5380; MIPSEL-NEXT:    move $1, $2381; MIPSEL-NEXT:    movz $1, $5, $3382; MIPSEL-NEXT:    sc $1, 0($4)383; MIPSEL-NEXT:    beqz $1, $BB1_1384; MIPSEL-NEXT:    nop385; MIPSEL-NEXT:  # %bb.2: # %entry386; MIPSEL-NEXT:    sync387; MIPSEL-NEXT:    jr $ra388; MIPSEL-NEXT:    nop389;390; MIPSELR6-LABEL: test_min_32:391; MIPSELR6:       # %bb.0: # %entry392; MIPSELR6-NEXT:    sync393; MIPSELR6-NEXT:  $BB1_1: # %entry394; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=1395; MIPSELR6-NEXT:    ll $2, 0($4)396; MIPSELR6-NEXT:    slt $3, $2, $5397; MIPSELR6-NEXT:    selnez $1, $2, $3398; MIPSELR6-NEXT:    seleqz $3, $5, $3399; MIPSELR6-NEXT:    or $1, $1, $3400; MIPSELR6-NEXT:    sc $1, 0($4)401; MIPSELR6-NEXT:    beqzc $1, $BB1_1402; MIPSELR6-NEXT:  # %bb.2: # %entry403; MIPSELR6-NEXT:    sync404; MIPSELR6-NEXT:    jrc $ra405;406; MMEL-LABEL: test_min_32:407; MMEL:       # %bb.0: # %entry408; MMEL-NEXT:    sync409; MMEL-NEXT:  $BB1_1: # %entry410; MMEL-NEXT:    # =>This Inner Loop Header: Depth=1411; MMEL-NEXT:    ll $2, 0($4)412; MMEL-NEXT:    slt $3, $2, $5413; MMEL-NEXT:    or $1, $2, $zero414; MMEL-NEXT:    movz $1, $5, $3415; MMEL-NEXT:    sc $1, 0($4)416; MMEL-NEXT:    beqzc $1, $BB1_1417; MMEL-NEXT:  # %bb.2: # %entry418; MMEL-NEXT:    sync419; MMEL-NEXT:    jrc $ra420;421; MMELR6-LABEL: test_min_32:422; MMELR6:       # %bb.0: # %entry423; MMELR6-NEXT:    sync424; MMELR6-NEXT:  $BB1_1: # %entry425; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=1426; MMELR6-NEXT:    ll $2, 0($4)427; MMELR6-NEXT:    slt $3, $2, $5428; MMELR6-NEXT:    selnez $1, $2, $3429; MMELR6-NEXT:    seleqz $3, $5, $3430; MMELR6-NEXT:    or $1, $1, $3431; MMELR6-NEXT:    sc $1, 0($4)432; MMELR6-NEXT:    beqc $1, $zero, $BB1_1433; MMELR6-NEXT:  # %bb.2: # %entry434; MMELR6-NEXT:    sync435; MMELR6-NEXT:    jrc $ra436;437; MIPS64-LABEL: test_min_32:438; MIPS64:       # %bb.0: # %entry439; MIPS64-NEXT:    # kill: def $a1 killed $a1 killed $a1_64440; MIPS64-NEXT:    sync441; MIPS64-NEXT:  .LBB1_1: # %entry442; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=1443; MIPS64-NEXT:    ll $2, 0($4)444; MIPS64-NEXT:    slt $3, $2, $5445; MIPS64-NEXT:    move $1, $2446; MIPS64-NEXT:    movz $1, $5, $3447; MIPS64-NEXT:    sc $1, 0($4)448; MIPS64-NEXT:    beqz $1, .LBB1_1449; MIPS64-NEXT:    nop450; MIPS64-NEXT:  # %bb.2: # %entry451; MIPS64-NEXT:    sync452; MIPS64-NEXT:    jr $ra453; MIPS64-NEXT:    nop454;455; MIPS64R6-LABEL: test_min_32:456; MIPS64R6:       # %bb.0: # %entry457; MIPS64R6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64458; MIPS64R6-NEXT:    sync459; MIPS64R6-NEXT:  .LBB1_1: # %entry460; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=1461; MIPS64R6-NEXT:    ll $2, 0($4)462; MIPS64R6-NEXT:    slt $3, $2, $5463; MIPS64R6-NEXT:    selnez $1, $2, $3464; MIPS64R6-NEXT:    seleqz $3, $5, $3465; MIPS64R6-NEXT:    or $1, $1, $3466; MIPS64R6-NEXT:    sc $1, 0($4)467; MIPS64R6-NEXT:    beqzc $1, .LBB1_1468; MIPS64R6-NEXT:  # %bb.2: # %entry469; MIPS64R6-NEXT:    sync470; MIPS64R6-NEXT:    jrc $ra471;472; MIPS64EL-LABEL: test_min_32:473; MIPS64EL:       # %bb.0: # %entry474; MIPS64EL-NEXT:    # kill: def $a1 killed $a1 killed $a1_64475; MIPS64EL-NEXT:    sync476; MIPS64EL-NEXT:  .LBB1_1: # %entry477; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=1478; MIPS64EL-NEXT:    ll $2, 0($4)479; MIPS64EL-NEXT:    slt $3, $2, $5480; MIPS64EL-NEXT:    move $1, $2481; MIPS64EL-NEXT:    movz $1, $5, $3482; MIPS64EL-NEXT:    sc $1, 0($4)483; MIPS64EL-NEXT:    beqz $1, .LBB1_1484; MIPS64EL-NEXT:    nop485; MIPS64EL-NEXT:  # %bb.2: # %entry486; MIPS64EL-NEXT:    sync487; MIPS64EL-NEXT:    jr $ra488; MIPS64EL-NEXT:    nop489;490; MIPS64ELR6-LABEL: test_min_32:491; MIPS64ELR6:       # %bb.0: # %entry492; MIPS64ELR6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64493; MIPS64ELR6-NEXT:    sync494; MIPS64ELR6-NEXT:  .LBB1_1: # %entry495; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=1496; MIPS64ELR6-NEXT:    ll $2, 0($4)497; MIPS64ELR6-NEXT:    slt $3, $2, $5498; MIPS64ELR6-NEXT:    selnez $1, $2, $3499; MIPS64ELR6-NEXT:    seleqz $3, $5, $3500; MIPS64ELR6-NEXT:    or $1, $1, $3501; MIPS64ELR6-NEXT:    sc $1, 0($4)502; MIPS64ELR6-NEXT:    beqzc $1, .LBB1_1503; MIPS64ELR6-NEXT:  # %bb.2: # %entry504; MIPS64ELR6-NEXT:    sync505; MIPS64ELR6-NEXT:    jrc $ra506entry:507  %0 = atomicrmw min ptr %ptr, i32 %val seq_cst508  ret i32 %0509}510 511define i32 @test_umax_32(ptr nocapture %ptr, i32 signext %val) {512; MIPS-LABEL: test_umax_32:513; MIPS:       # %bb.0: # %entry514; MIPS-NEXT:    sync515; MIPS-NEXT:  $BB2_1: # %entry516; MIPS-NEXT:    # =>This Inner Loop Header: Depth=1517; MIPS-NEXT:    ll $2, 0($4)518; MIPS-NEXT:    sltu $3, $2, $5519; MIPS-NEXT:    move $1, $2520; MIPS-NEXT:    movn $1, $5, $3521; MIPS-NEXT:    sc $1, 0($4)522; MIPS-NEXT:    beqz $1, $BB2_1523; MIPS-NEXT:    nop524; MIPS-NEXT:  # %bb.2: # %entry525; MIPS-NEXT:    sync526; MIPS-NEXT:    jr $ra527; MIPS-NEXT:    nop528;529; MIPS2-LABEL: test_umax_32:530; MIPS2:       # %bb.0: # %entry531; MIPS2-NEXT:    sync532; MIPS2-NEXT:  $BB2_1: # %entry533; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=1534; MIPS2-NEXT:    ll $2, 0($4)535; MIPS2-NEXT:    sltu $3, $2, $5536; MIPS2-NEXT:    move $1, $5537; MIPS2-NEXT:    beqz $3, $BB2_3538; MIPS2-NEXT:    nop539; MIPS2-NEXT:  # %bb.2: # %entry540; MIPS2-NEXT:    # in Loop: Header=BB2_1 Depth=1541; MIPS2-NEXT:    j $BB2_4542; MIPS2-NEXT:    nop543; MIPS2-NEXT:  $BB2_3: # %entry544; MIPS2-NEXT:    # in Loop: Header=BB2_1 Depth=1545; MIPS2-NEXT:    move $1, $2546; MIPS2-NEXT:  $BB2_4: # %entry547; MIPS2-NEXT:    # in Loop: Header=BB2_1 Depth=1548; MIPS2-NEXT:    sc $1, 0($4)549; MIPS2-NEXT:    beqz $1, $BB2_1550; MIPS2-NEXT:    nop551; MIPS2-NEXT:  # %bb.5: # %entry552; MIPS2-NEXT:    sync553; MIPS2-NEXT:    jr $ra554; MIPS2-NEXT:    nop555;556; MIPSR6-LABEL: test_umax_32:557; MIPSR6:       # %bb.0: # %entry558; MIPSR6-NEXT:    sync559; MIPSR6-NEXT:  $BB2_1: # %entry560; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=1561; MIPSR6-NEXT:    ll $2, 0($4)562; MIPSR6-NEXT:    sltu $3, $2, $5563; MIPSR6-NEXT:    seleqz $1, $2, $3564; MIPSR6-NEXT:    selnez $3, $5, $3565; MIPSR6-NEXT:    or $1, $1, $3566; MIPSR6-NEXT:    sc $1, 0($4)567; MIPSR6-NEXT:    beqzc $1, $BB2_1568; MIPSR6-NEXT:  # %bb.2: # %entry569; MIPSR6-NEXT:    sync570; MIPSR6-NEXT:    jrc $ra571;572; MM-LABEL: test_umax_32:573; MM:       # %bb.0: # %entry574; MM-NEXT:    sync575; MM-NEXT:  $BB2_1: # %entry576; MM-NEXT:    # =>This Inner Loop Header: Depth=1577; MM-NEXT:    ll $2, 0($4)578; MM-NEXT:    sltu $3, $2, $5579; MM-NEXT:    or $1, $2, $zero580; MM-NEXT:    movn $1, $5, $3581; MM-NEXT:    sc $1, 0($4)582; MM-NEXT:    beqzc $1, $BB2_1583; MM-NEXT:  # %bb.2: # %entry584; MM-NEXT:    sync585; MM-NEXT:    jrc $ra586;587; MMR6-LABEL: test_umax_32:588; MMR6:       # %bb.0: # %entry589; MMR6-NEXT:    sync590; MMR6-NEXT:  $BB2_1: # %entry591; MMR6-NEXT:    # =>This Inner Loop Header: Depth=1592; MMR6-NEXT:    ll $2, 0($4)593; MMR6-NEXT:    sltu $3, $2, $5594; MMR6-NEXT:    seleqz $1, $2, $3595; MMR6-NEXT:    selnez $3, $5, $3596; MMR6-NEXT:    or $1, $1, $3597; MMR6-NEXT:    sc $1, 0($4)598; MMR6-NEXT:    beqc $1, $zero, $BB2_1599; MMR6-NEXT:  # %bb.2: # %entry600; MMR6-NEXT:    sync601; MMR6-NEXT:    jrc $ra602;603; MIPS32-LABEL: test_umax_32:604; MIPS32:       # %bb.0: # %entry605; MIPS32-NEXT:    sync606; MIPS32-NEXT:  $BB2_1: # %entry607; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=1608; MIPS32-NEXT:    ll $2, 0($4)609; MIPS32-NEXT:    sltu $3, $2, $5610; MIPS32-NEXT:    move $1, $2611; MIPS32-NEXT:    movn $1, $5, $3612; MIPS32-NEXT:    sc $1, 0($4)613; MIPS32-NEXT:    beqz $1, $BB2_1614; MIPS32-NEXT:    nop615; MIPS32-NEXT:  # %bb.2: # %entry616; MIPS32-NEXT:    sync617; MIPS32-NEXT:    jr $ra618; MIPS32-NEXT:    nop619;620; MIPSEL-LABEL: test_umax_32:621; MIPSEL:       # %bb.0: # %entry622; MIPSEL-NEXT:    sync623; MIPSEL-NEXT:  $BB2_1: # %entry624; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=1625; MIPSEL-NEXT:    ll $2, 0($4)626; MIPSEL-NEXT:    sltu $3, $2, $5627; MIPSEL-NEXT:    move $1, $2628; MIPSEL-NEXT:    movn $1, $5, $3629; MIPSEL-NEXT:    sc $1, 0($4)630; MIPSEL-NEXT:    beqz $1, $BB2_1631; MIPSEL-NEXT:    nop632; MIPSEL-NEXT:  # %bb.2: # %entry633; MIPSEL-NEXT:    sync634; MIPSEL-NEXT:    jr $ra635; MIPSEL-NEXT:    nop636;637; MIPSELR6-LABEL: test_umax_32:638; MIPSELR6:       # %bb.0: # %entry639; MIPSELR6-NEXT:    sync640; MIPSELR6-NEXT:  $BB2_1: # %entry641; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=1642; MIPSELR6-NEXT:    ll $2, 0($4)643; MIPSELR6-NEXT:    sltu $3, $2, $5644; MIPSELR6-NEXT:    seleqz $1, $2, $3645; MIPSELR6-NEXT:    selnez $3, $5, $3646; MIPSELR6-NEXT:    or $1, $1, $3647; MIPSELR6-NEXT:    sc $1, 0($4)648; MIPSELR6-NEXT:    beqzc $1, $BB2_1649; MIPSELR6-NEXT:  # %bb.2: # %entry650; MIPSELR6-NEXT:    sync651; MIPSELR6-NEXT:    jrc $ra652;653; MMEL-LABEL: test_umax_32:654; MMEL:       # %bb.0: # %entry655; MMEL-NEXT:    sync656; MMEL-NEXT:  $BB2_1: # %entry657; MMEL-NEXT:    # =>This Inner Loop Header: Depth=1658; MMEL-NEXT:    ll $2, 0($4)659; MMEL-NEXT:    sltu $3, $2, $5660; MMEL-NEXT:    or $1, $2, $zero661; MMEL-NEXT:    movn $1, $5, $3662; MMEL-NEXT:    sc $1, 0($4)663; MMEL-NEXT:    beqzc $1, $BB2_1664; MMEL-NEXT:  # %bb.2: # %entry665; MMEL-NEXT:    sync666; MMEL-NEXT:    jrc $ra667;668; MMELR6-LABEL: test_umax_32:669; MMELR6:       # %bb.0: # %entry670; MMELR6-NEXT:    sync671; MMELR6-NEXT:  $BB2_1: # %entry672; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=1673; MMELR6-NEXT:    ll $2, 0($4)674; MMELR6-NEXT:    sltu $3, $2, $5675; MMELR6-NEXT:    seleqz $1, $2, $3676; MMELR6-NEXT:    selnez $3, $5, $3677; MMELR6-NEXT:    or $1, $1, $3678; MMELR6-NEXT:    sc $1, 0($4)679; MMELR6-NEXT:    beqc $1, $zero, $BB2_1680; MMELR6-NEXT:  # %bb.2: # %entry681; MMELR6-NEXT:    sync682; MMELR6-NEXT:    jrc $ra683;684; MIPS64-LABEL: test_umax_32:685; MIPS64:       # %bb.0: # %entry686; MIPS64-NEXT:    # kill: def $a1 killed $a1 killed $a1_64687; MIPS64-NEXT:    sync688; MIPS64-NEXT:  .LBB2_1: # %entry689; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=1690; MIPS64-NEXT:    ll $2, 0($4)691; MIPS64-NEXT:    sltu $3, $2, $5692; MIPS64-NEXT:    move $1, $2693; MIPS64-NEXT:    movn $1, $5, $3694; MIPS64-NEXT:    sc $1, 0($4)695; MIPS64-NEXT:    beqz $1, .LBB2_1696; MIPS64-NEXT:    nop697; MIPS64-NEXT:  # %bb.2: # %entry698; MIPS64-NEXT:    sync699; MIPS64-NEXT:    jr $ra700; MIPS64-NEXT:    nop701;702; MIPS64R6-LABEL: test_umax_32:703; MIPS64R6:       # %bb.0: # %entry704; MIPS64R6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64705; MIPS64R6-NEXT:    sync706; MIPS64R6-NEXT:  .LBB2_1: # %entry707; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=1708; MIPS64R6-NEXT:    ll $2, 0($4)709; MIPS64R6-NEXT:    sltu $3, $2, $5710; MIPS64R6-NEXT:    seleqz $1, $2, $3711; MIPS64R6-NEXT:    selnez $3, $5, $3712; MIPS64R6-NEXT:    or $1, $1, $3713; MIPS64R6-NEXT:    sc $1, 0($4)714; MIPS64R6-NEXT:    beqzc $1, .LBB2_1715; MIPS64R6-NEXT:  # %bb.2: # %entry716; MIPS64R6-NEXT:    sync717; MIPS64R6-NEXT:    jrc $ra718;719; MIPS64EL-LABEL: test_umax_32:720; MIPS64EL:       # %bb.0: # %entry721; MIPS64EL-NEXT:    # kill: def $a1 killed $a1 killed $a1_64722; MIPS64EL-NEXT:    sync723; MIPS64EL-NEXT:  .LBB2_1: # %entry724; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=1725; MIPS64EL-NEXT:    ll $2, 0($4)726; MIPS64EL-NEXT:    sltu $3, $2, $5727; MIPS64EL-NEXT:    move $1, $2728; MIPS64EL-NEXT:    movn $1, $5, $3729; MIPS64EL-NEXT:    sc $1, 0($4)730; MIPS64EL-NEXT:    beqz $1, .LBB2_1731; MIPS64EL-NEXT:    nop732; MIPS64EL-NEXT:  # %bb.2: # %entry733; MIPS64EL-NEXT:    sync734; MIPS64EL-NEXT:    jr $ra735; MIPS64EL-NEXT:    nop736;737; MIPS64ELR6-LABEL: test_umax_32:738; MIPS64ELR6:       # %bb.0: # %entry739; MIPS64ELR6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64740; MIPS64ELR6-NEXT:    sync741; MIPS64ELR6-NEXT:  .LBB2_1: # %entry742; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=1743; MIPS64ELR6-NEXT:    ll $2, 0($4)744; MIPS64ELR6-NEXT:    sltu $3, $2, $5745; MIPS64ELR6-NEXT:    seleqz $1, $2, $3746; MIPS64ELR6-NEXT:    selnez $3, $5, $3747; MIPS64ELR6-NEXT:    or $1, $1, $3748; MIPS64ELR6-NEXT:    sc $1, 0($4)749; MIPS64ELR6-NEXT:    beqzc $1, .LBB2_1750; MIPS64ELR6-NEXT:  # %bb.2: # %entry751; MIPS64ELR6-NEXT:    sync752; MIPS64ELR6-NEXT:    jrc $ra753entry:754  %0 = atomicrmw umax ptr %ptr, i32 %val seq_cst755  ret i32 %0756}757 758define i32 @test_umin_32(ptr nocapture %ptr, i32 signext %val) {759; MIPS-LABEL: test_umin_32:760; MIPS:       # %bb.0: # %entry761; MIPS-NEXT:    sync762; MIPS-NEXT:  $BB3_1: # %entry763; MIPS-NEXT:    # =>This Inner Loop Header: Depth=1764; MIPS-NEXT:    ll $2, 0($4)765; MIPS-NEXT:    sltu $3, $2, $5766; MIPS-NEXT:    move $1, $2767; MIPS-NEXT:    movz $1, $5, $3768; MIPS-NEXT:    sc $1, 0($4)769; MIPS-NEXT:    beqz $1, $BB3_1770; MIPS-NEXT:    nop771; MIPS-NEXT:  # %bb.2: # %entry772; MIPS-NEXT:    sync773; MIPS-NEXT:    jr $ra774; MIPS-NEXT:    nop775;776; MIPS2-LABEL: test_umin_32:777; MIPS2:       # %bb.0: # %entry778; MIPS2-NEXT:    sync779; MIPS2-NEXT:  $BB3_1: # %entry780; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=1781; MIPS2-NEXT:    ll $2, 0($4)782; MIPS2-NEXT:    sltu $3, $2, $5783; MIPS2-NEXT:    move $1, $2784; MIPS2-NEXT:    beqz $3, $BB3_3785; MIPS2-NEXT:    nop786; MIPS2-NEXT:  # %bb.2: # %entry787; MIPS2-NEXT:    # in Loop: Header=BB3_1 Depth=1788; MIPS2-NEXT:    j $BB3_4789; MIPS2-NEXT:    nop790; MIPS2-NEXT:  $BB3_3: # %entry791; MIPS2-NEXT:    # in Loop: Header=BB3_1 Depth=1792; MIPS2-NEXT:    move $1, $5793; MIPS2-NEXT:  $BB3_4: # %entry794; MIPS2-NEXT:    # in Loop: Header=BB3_1 Depth=1795; MIPS2-NEXT:    sc $1, 0($4)796; MIPS2-NEXT:    beqz $1, $BB3_1797; MIPS2-NEXT:    nop798; MIPS2-NEXT:  # %bb.5: # %entry799; MIPS2-NEXT:    sync800; MIPS2-NEXT:    jr $ra801; MIPS2-NEXT:    nop802;803; MIPSR6-LABEL: test_umin_32:804; MIPSR6:       # %bb.0: # %entry805; MIPSR6-NEXT:    sync806; MIPSR6-NEXT:  $BB3_1: # %entry807; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=1808; MIPSR6-NEXT:    ll $2, 0($4)809; MIPSR6-NEXT:    sltu $3, $2, $5810; MIPSR6-NEXT:    selnez $1, $2, $3811; MIPSR6-NEXT:    seleqz $3, $5, $3812; MIPSR6-NEXT:    or $1, $1, $3813; MIPSR6-NEXT:    sc $1, 0($4)814; MIPSR6-NEXT:    beqzc $1, $BB3_1815; MIPSR6-NEXT:  # %bb.2: # %entry816; MIPSR6-NEXT:    sync817; MIPSR6-NEXT:    jrc $ra818;819; MM-LABEL: test_umin_32:820; MM:       # %bb.0: # %entry821; MM-NEXT:    sync822; MM-NEXT:  $BB3_1: # %entry823; MM-NEXT:    # =>This Inner Loop Header: Depth=1824; MM-NEXT:    ll $2, 0($4)825; MM-NEXT:    sltu $3, $2, $5826; MM-NEXT:    or $1, $2, $zero827; MM-NEXT:    movz $1, $5, $3828; MM-NEXT:    sc $1, 0($4)829; MM-NEXT:    beqzc $1, $BB3_1830; MM-NEXT:  # %bb.2: # %entry831; MM-NEXT:    sync832; MM-NEXT:    jrc $ra833;834; MMR6-LABEL: test_umin_32:835; MMR6:       # %bb.0: # %entry836; MMR6-NEXT:    sync837; MMR6-NEXT:  $BB3_1: # %entry838; MMR6-NEXT:    # =>This Inner Loop Header: Depth=1839; MMR6-NEXT:    ll $2, 0($4)840; MMR6-NEXT:    sltu $3, $2, $5841; MMR6-NEXT:    selnez $1, $2, $3842; MMR6-NEXT:    seleqz $3, $5, $3843; MMR6-NEXT:    or $1, $1, $3844; MMR6-NEXT:    sc $1, 0($4)845; MMR6-NEXT:    beqc $1, $zero, $BB3_1846; MMR6-NEXT:  # %bb.2: # %entry847; MMR6-NEXT:    sync848; MMR6-NEXT:    jrc $ra849;850; MIPS32-LABEL: test_umin_32:851; MIPS32:       # %bb.0: # %entry852; MIPS32-NEXT:    sync853; MIPS32-NEXT:  $BB3_1: # %entry854; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=1855; MIPS32-NEXT:    ll $2, 0($4)856; MIPS32-NEXT:    sltu $3, $2, $5857; MIPS32-NEXT:    move $1, $2858; MIPS32-NEXT:    movz $1, $5, $3859; MIPS32-NEXT:    sc $1, 0($4)860; MIPS32-NEXT:    beqz $1, $BB3_1861; MIPS32-NEXT:    nop862; MIPS32-NEXT:  # %bb.2: # %entry863; MIPS32-NEXT:    sync864; MIPS32-NEXT:    jr $ra865; MIPS32-NEXT:    nop866;867; MIPSEL-LABEL: test_umin_32:868; MIPSEL:       # %bb.0: # %entry869; MIPSEL-NEXT:    sync870; MIPSEL-NEXT:  $BB3_1: # %entry871; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=1872; MIPSEL-NEXT:    ll $2, 0($4)873; MIPSEL-NEXT:    sltu $3, $2, $5874; MIPSEL-NEXT:    move $1, $2875; MIPSEL-NEXT:    movz $1, $5, $3876; MIPSEL-NEXT:    sc $1, 0($4)877; MIPSEL-NEXT:    beqz $1, $BB3_1878; MIPSEL-NEXT:    nop879; MIPSEL-NEXT:  # %bb.2: # %entry880; MIPSEL-NEXT:    sync881; MIPSEL-NEXT:    jr $ra882; MIPSEL-NEXT:    nop883;884; MIPSELR6-LABEL: test_umin_32:885; MIPSELR6:       # %bb.0: # %entry886; MIPSELR6-NEXT:    sync887; MIPSELR6-NEXT:  $BB3_1: # %entry888; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=1889; MIPSELR6-NEXT:    ll $2, 0($4)890; MIPSELR6-NEXT:    sltu $3, $2, $5891; MIPSELR6-NEXT:    selnez $1, $2, $3892; MIPSELR6-NEXT:    seleqz $3, $5, $3893; MIPSELR6-NEXT:    or $1, $1, $3894; MIPSELR6-NEXT:    sc $1, 0($4)895; MIPSELR6-NEXT:    beqzc $1, $BB3_1896; MIPSELR6-NEXT:  # %bb.2: # %entry897; MIPSELR6-NEXT:    sync898; MIPSELR6-NEXT:    jrc $ra899;900; MMEL-LABEL: test_umin_32:901; MMEL:       # %bb.0: # %entry902; MMEL-NEXT:    sync903; MMEL-NEXT:  $BB3_1: # %entry904; MMEL-NEXT:    # =>This Inner Loop Header: Depth=1905; MMEL-NEXT:    ll $2, 0($4)906; MMEL-NEXT:    sltu $3, $2, $5907; MMEL-NEXT:    or $1, $2, $zero908; MMEL-NEXT:    movz $1, $5, $3909; MMEL-NEXT:    sc $1, 0($4)910; MMEL-NEXT:    beqzc $1, $BB3_1911; MMEL-NEXT:  # %bb.2: # %entry912; MMEL-NEXT:    sync913; MMEL-NEXT:    jrc $ra914;915; MMELR6-LABEL: test_umin_32:916; MMELR6:       # %bb.0: # %entry917; MMELR6-NEXT:    sync918; MMELR6-NEXT:  $BB3_1: # %entry919; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=1920; MMELR6-NEXT:    ll $2, 0($4)921; MMELR6-NEXT:    sltu $3, $2, $5922; MMELR6-NEXT:    selnez $1, $2, $3923; MMELR6-NEXT:    seleqz $3, $5, $3924; MMELR6-NEXT:    or $1, $1, $3925; MMELR6-NEXT:    sc $1, 0($4)926; MMELR6-NEXT:    beqc $1, $zero, $BB3_1927; MMELR6-NEXT:  # %bb.2: # %entry928; MMELR6-NEXT:    sync929; MMELR6-NEXT:    jrc $ra930;931; MIPS64-LABEL: test_umin_32:932; MIPS64:       # %bb.0: # %entry933; MIPS64-NEXT:    # kill: def $a1 killed $a1 killed $a1_64934; MIPS64-NEXT:    sync935; MIPS64-NEXT:  .LBB3_1: # %entry936; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=1937; MIPS64-NEXT:    ll $2, 0($4)938; MIPS64-NEXT:    sltu $3, $2, $5939; MIPS64-NEXT:    move $1, $2940; MIPS64-NEXT:    movz $1, $5, $3941; MIPS64-NEXT:    sc $1, 0($4)942; MIPS64-NEXT:    beqz $1, .LBB3_1943; MIPS64-NEXT:    nop944; MIPS64-NEXT:  # %bb.2: # %entry945; MIPS64-NEXT:    sync946; MIPS64-NEXT:    jr $ra947; MIPS64-NEXT:    nop948;949; MIPS64R6-LABEL: test_umin_32:950; MIPS64R6:       # %bb.0: # %entry951; MIPS64R6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64952; MIPS64R6-NEXT:    sync953; MIPS64R6-NEXT:  .LBB3_1: # %entry954; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=1955; MIPS64R6-NEXT:    ll $2, 0($4)956; MIPS64R6-NEXT:    sltu $3, $2, $5957; MIPS64R6-NEXT:    selnez $1, $2, $3958; MIPS64R6-NEXT:    seleqz $3, $5, $3959; MIPS64R6-NEXT:    or $1, $1, $3960; MIPS64R6-NEXT:    sc $1, 0($4)961; MIPS64R6-NEXT:    beqzc $1, .LBB3_1962; MIPS64R6-NEXT:  # %bb.2: # %entry963; MIPS64R6-NEXT:    sync964; MIPS64R6-NEXT:    jrc $ra965;966; MIPS64EL-LABEL: test_umin_32:967; MIPS64EL:       # %bb.0: # %entry968; MIPS64EL-NEXT:    # kill: def $a1 killed $a1 killed $a1_64969; MIPS64EL-NEXT:    sync970; MIPS64EL-NEXT:  .LBB3_1: # %entry971; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=1972; MIPS64EL-NEXT:    ll $2, 0($4)973; MIPS64EL-NEXT:    sltu $3, $2, $5974; MIPS64EL-NEXT:    move $1, $2975; MIPS64EL-NEXT:    movz $1, $5, $3976; MIPS64EL-NEXT:    sc $1, 0($4)977; MIPS64EL-NEXT:    beqz $1, .LBB3_1978; MIPS64EL-NEXT:    nop979; MIPS64EL-NEXT:  # %bb.2: # %entry980; MIPS64EL-NEXT:    sync981; MIPS64EL-NEXT:    jr $ra982; MIPS64EL-NEXT:    nop983;984; MIPS64ELR6-LABEL: test_umin_32:985; MIPS64ELR6:       # %bb.0: # %entry986; MIPS64ELR6-NEXT:    # kill: def $a1 killed $a1 killed $a1_64987; MIPS64ELR6-NEXT:    sync988; MIPS64ELR6-NEXT:  .LBB3_1: # %entry989; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=1990; MIPS64ELR6-NEXT:    ll $2, 0($4)991; MIPS64ELR6-NEXT:    sltu $3, $2, $5992; MIPS64ELR6-NEXT:    selnez $1, $2, $3993; MIPS64ELR6-NEXT:    seleqz $3, $5, $3994; MIPS64ELR6-NEXT:    or $1, $1, $3995; MIPS64ELR6-NEXT:    sc $1, 0($4)996; MIPS64ELR6-NEXT:    beqzc $1, .LBB3_1997; MIPS64ELR6-NEXT:  # %bb.2: # %entry998; MIPS64ELR6-NEXT:    sync999; MIPS64ELR6-NEXT:    jrc $ra1000entry:1001  %0 = atomicrmw umin ptr %ptr, i32 %val seq_cst1002  ret i32 %01003}1004 1005define i16 @test_max_16(ptr nocapture %ptr, i16 signext %val) {1006; MIPS-LABEL: test_max_16:1007; MIPS:       # %bb.0: # %entry1008; MIPS-NEXT:    addiu $sp, $sp, -81009; MIPS-NEXT:    .cfi_def_cfa_offset 81010; MIPS-NEXT:    # kill: def $at killed $a11011; MIPS-NEXT:    sync1012; MIPS-NEXT:    addiu $1, $zero, -41013; MIPS-NEXT:    and $6, $4, $11014; MIPS-NEXT:    andi $1, $4, 31015; MIPS-NEXT:    xori $1, $1, 21016; MIPS-NEXT:    sll $10, $1, 31017; MIPS-NEXT:    ori $1, $zero, 655351018; MIPS-NEXT:    sllv $8, $1, $101019; MIPS-NEXT:    nor $9, $zero, $81020; MIPS-NEXT:    sllv $7, $5, $101021; MIPS-NEXT:  $BB4_1: # %entry1022; MIPS-NEXT:    # =>This Inner Loop Header: Depth=11023; MIPS-NEXT:    ll $2, 0($6)1024; MIPS-NEXT:    srav $4, $2, $101025; MIPS-NEXT:    seh $4, $41026; MIPS-NEXT:    or $1, $zero, $41027; MIPS-NEXT:    sllv $4, $4, $101028; MIPS-NEXT:    slt $5, $4, $71029; MIPS-NEXT:    move $3, $41030; MIPS-NEXT:    movn $3, $7, $51031; MIPS-NEXT:    and $3, $3, $81032; MIPS-NEXT:    and $4, $2, $91033; MIPS-NEXT:    or $4, $4, $31034; MIPS-NEXT:    sc $4, 0($6)1035; MIPS-NEXT:    beqz $4, $BB4_11036; MIPS-NEXT:    nop1037; MIPS-NEXT:  # %bb.2: # %entry1038; MIPS-NEXT:    .insn1039; MIPS-NEXT:  # %bb.3: # %entry1040; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1041; MIPS-NEXT:  # %bb.4: # %entry1042; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1043; MIPS-NEXT:    sync1044; MIPS-NEXT:    addiu $sp, $sp, 81045; MIPS-NEXT:    jr $ra1046; MIPS-NEXT:    nop1047;1048; MIPS2-LABEL: test_max_16:1049; MIPS2:       # %bb.0: # %entry1050; MIPS2-NEXT:    addiu $sp, $sp, -81051; MIPS2-NEXT:    .cfi_def_cfa_offset 81052; MIPS2-NEXT:    # kill: def $at killed $a11053; MIPS2-NEXT:    sync1054; MIPS2-NEXT:    addiu $1, $zero, -41055; MIPS2-NEXT:    and $6, $4, $11056; MIPS2-NEXT:    andi $1, $4, 31057; MIPS2-NEXT:    sll $10, $1, 31058; MIPS2-NEXT:    ori $1, $zero, 655351059; MIPS2-NEXT:    sllv $8, $1, $101060; MIPS2-NEXT:    nor $9, $zero, $81061; MIPS2-NEXT:    sllv $7, $5, $101062; MIPS2-NEXT:  $BB4_1: # %entry1063; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=11064; MIPS2-NEXT:    ll $2, 0($6)1065; MIPS2-NEXT:    srav $4, $2, $101066; MIPS2-NEXT:    sll $4, $4, 161067; MIPS2-NEXT:    sra $4, $4, 161068; MIPS2-NEXT:    or $1, $zero, $41069; MIPS2-NEXT:    sllv $4, $4, $101070; MIPS2-NEXT:    slt $5, $4, $71071; MIPS2-NEXT:    move $3, $71072; MIPS2-NEXT:    beqz $5, $BB4_31073; MIPS2-NEXT:    nop1074; MIPS2-NEXT:  # %bb.2: # %entry1075; MIPS2-NEXT:    #   in Loop: Header=BB4_1 Depth=11076; MIPS2-NEXT:    j $BB4_41077; MIPS2-NEXT:    nop1078; MIPS2-NEXT:  $BB4_3: # %entry1079; MIPS2-NEXT:    #   in Loop: Header=BB4_1 Depth=11080; MIPS2-NEXT:    move $3, $41081; MIPS2-NEXT:  $BB4_4: # %entry1082; MIPS2-NEXT:    #   in Loop: Header=BB4_1 Depth=11083; MIPS2-NEXT:    and $3, $3, $81084; MIPS2-NEXT:    and $4, $2, $91085; MIPS2-NEXT:    or $4, $4, $31086; MIPS2-NEXT:    sc $4, 0($6)1087; MIPS2-NEXT:    beqz $4, $BB4_11088; MIPS2-NEXT:    nop1089; MIPS2-NEXT:  # %bb.5: # %entry1090; MIPS2-NEXT:    .insn1091; MIPS2-NEXT:  # %bb.6: # %entry1092; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1093; MIPS2-NEXT:  # %bb.7: # %entry1094; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1095; MIPS2-NEXT:    sync1096; MIPS2-NEXT:    addiu $sp, $sp, 81097; MIPS2-NEXT:    jr $ra1098; MIPS2-NEXT:    nop1099;1100; MIPSR6-LABEL: test_max_16:1101; MIPSR6:       # %bb.0: # %entry1102; MIPSR6-NEXT:    addiu $sp, $sp, -81103; MIPSR6-NEXT:    .cfi_def_cfa_offset 81104; MIPSR6-NEXT:    # kill: def $at killed $a11105; MIPSR6-NEXT:    sync1106; MIPSR6-NEXT:    addiu $1, $zero, -41107; MIPSR6-NEXT:    and $6, $4, $11108; MIPSR6-NEXT:    andi $1, $4, 31109; MIPSR6-NEXT:    xori $1, $1, 21110; MIPSR6-NEXT:    sll $10, $1, 31111; MIPSR6-NEXT:    ori $1, $zero, 655351112; MIPSR6-NEXT:    sllv $8, $1, $101113; MIPSR6-NEXT:    nor $9, $zero, $81114; MIPSR6-NEXT:    sllv $7, $5, $101115; MIPSR6-NEXT:  $BB4_1: # %entry1116; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=11117; MIPSR6-NEXT:    ll $2, 0($6)1118; MIPSR6-NEXT:    srav $4, $2, $101119; MIPSR6-NEXT:    seh $4, $41120; MIPSR6-NEXT:    or $1, $zero, $41121; MIPSR6-NEXT:    sllv $4, $4, $101122; MIPSR6-NEXT:    slt $5, $4, $71123; MIPSR6-NEXT:    seleqz $3, $4, $51124; MIPSR6-NEXT:    selnez $5, $7, $51125; MIPSR6-NEXT:    or $3, $3, $51126; MIPSR6-NEXT:    and $3, $3, $81127; MIPSR6-NEXT:    and $4, $2, $91128; MIPSR6-NEXT:    or $4, $4, $31129; MIPSR6-NEXT:    sc $4, 0($6)1130; MIPSR6-NEXT:    beqzc $4, $BB4_11131; MIPSR6-NEXT:    nop1132; MIPSR6-NEXT:  # %bb.2: # %entry1133; MIPSR6-NEXT:    .insn1134; MIPSR6-NEXT:  # %bb.3: # %entry1135; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1136; MIPSR6-NEXT:  # %bb.4: # %entry1137; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1138; MIPSR6-NEXT:    sync1139; MIPSR6-NEXT:    addiu $sp, $sp, 81140; MIPSR6-NEXT:    jrc $ra1141;1142; MM-LABEL: test_max_16:1143; MM:       # %bb.0: # %entry1144; MM-NEXT:    addiu $sp, $sp, -81145; MM-NEXT:    .cfi_def_cfa_offset 81146; MM-NEXT:    # kill: def $at killed $a11147; MM-NEXT:    sync1148; MM-NEXT:    addiu $1, $zero, -41149; MM-NEXT:    and $6, $4, $11150; MM-NEXT:    andi $1, $4, 31151; MM-NEXT:    xori $1, $1, 21152; MM-NEXT:    sll $10, $1, 31153; MM-NEXT:    ori $1, $zero, 655351154; MM-NEXT:    sllv $8, $1, $101155; MM-NEXT:    nor $9, $zero, $81156; MM-NEXT:    sllv $7, $5, $101157; MM-NEXT:  $BB4_1: # %entry1158; MM-NEXT:    # =>This Inner Loop Header: Depth=11159; MM-NEXT:    ll $2, 0($6)1160; MM-NEXT:    srav $4, $2, $101161; MM-NEXT:    seh $4, $41162; MM-NEXT:    or $1, $zero, $41163; MM-NEXT:    sllv $4, $4, $101164; MM-NEXT:    slt $5, $4, $71165; MM-NEXT:    or $3, $4, $zero1166; MM-NEXT:    movn $3, $7, $51167; MM-NEXT:    and $3, $3, $81168; MM-NEXT:    and $4, $2, $91169; MM-NEXT:    or $4, $4, $31170; MM-NEXT:    sc $4, 0($6)1171; MM-NEXT:    beqzc $4, $BB4_11172; MM-NEXT:  # %bb.2: # %entry1173; MM-NEXT:    .insn1174; MM-NEXT:  # %bb.3: # %entry1175; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1176; MM-NEXT:  # %bb.4: # %entry1177; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1178; MM-NEXT:    sync1179; MM-NEXT:    addiusp 81180; MM-NEXT:    jrc $ra1181;1182; MMR6-LABEL: test_max_16:1183; MMR6:       # %bb.0: # %entry1184; MMR6-NEXT:    addiu $sp, $sp, -81185; MMR6-NEXT:    .cfi_def_cfa_offset 81186; MMR6-NEXT:    # kill: def $at killed $a11187; MMR6-NEXT:    sync1188; MMR6-NEXT:    addiu $1, $zero, -41189; MMR6-NEXT:    and $6, $4, $11190; MMR6-NEXT:    andi $1, $4, 31191; MMR6-NEXT:    xori $1, $1, 21192; MMR6-NEXT:    sll $10, $1, 31193; MMR6-NEXT:    ori $1, $zero, 655351194; MMR6-NEXT:    sllv $8, $1, $101195; MMR6-NEXT:    nor $9, $zero, $81196; MMR6-NEXT:    sllv $7, $5, $101197; MMR6-NEXT:  $BB4_1: # %entry1198; MMR6-NEXT:    # =>This Inner Loop Header: Depth=11199; MMR6-NEXT:    ll $2, 0($6)1200; MMR6-NEXT:    srav $4, $2, $101201; MMR6-NEXT:    seh $4, $41202; MMR6-NEXT:    or $1, $zero, $41203; MMR6-NEXT:    sllv $4, $4, $101204; MMR6-NEXT:    slt $5, $4, $71205; MMR6-NEXT:    seleqz $3, $4, $51206; MMR6-NEXT:    selnez $5, $7, $51207; MMR6-NEXT:    or $3, $3, $51208; MMR6-NEXT:    and $3, $3, $81209; MMR6-NEXT:    and $4, $2, $91210; MMR6-NEXT:    or $4, $4, $31211; MMR6-NEXT:    sc $4, 0($6)1212; MMR6-NEXT:    beqc $4, $zero, $BB4_11213; MMR6-NEXT:  # %bb.2: # %entry1214; MMR6-NEXT:    .insn1215; MMR6-NEXT:  # %bb.3: # %entry1216; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1217; MMR6-NEXT:  # %bb.4: # %entry1218; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1219; MMR6-NEXT:    sync1220; MMR6-NEXT:    addiu $sp, $sp, 81221; MMR6-NEXT:    jrc $ra1222;1223; MIPS32-LABEL: test_max_16:1224; MIPS32:       # %bb.0: # %entry1225; MIPS32-NEXT:    addiu $sp, $sp, -81226; MIPS32-NEXT:    .cfi_def_cfa_offset 81227; MIPS32-NEXT:    # kill: def $at killed $a11228; MIPS32-NEXT:    sync1229; MIPS32-NEXT:    addiu $1, $zero, -41230; MIPS32-NEXT:    and $6, $4, $11231; MIPS32-NEXT:    andi $1, $4, 31232; MIPS32-NEXT:    sll $10, $1, 31233; MIPS32-NEXT:    ori $1, $zero, 655351234; MIPS32-NEXT:    sllv $8, $1, $101235; MIPS32-NEXT:    nor $9, $zero, $81236; MIPS32-NEXT:    sllv $7, $5, $101237; MIPS32-NEXT:  $BB4_1: # %entry1238; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=11239; MIPS32-NEXT:    ll $2, 0($6)1240; MIPS32-NEXT:    srav $4, $2, $101241; MIPS32-NEXT:    sll $4, $4, 161242; MIPS32-NEXT:    sra $4, $4, 161243; MIPS32-NEXT:    or $1, $zero, $41244; MIPS32-NEXT:    sllv $4, $4, $101245; MIPS32-NEXT:    slt $5, $4, $71246; MIPS32-NEXT:    move $3, $41247; MIPS32-NEXT:    movn $3, $7, $51248; MIPS32-NEXT:    and $3, $3, $81249; MIPS32-NEXT:    and $4, $2, $91250; MIPS32-NEXT:    or $4, $4, $31251; MIPS32-NEXT:    sc $4, 0($6)1252; MIPS32-NEXT:    beqz $4, $BB4_11253; MIPS32-NEXT:    nop1254; MIPS32-NEXT:  # %bb.2: # %entry1255; MIPS32-NEXT:    .insn1256; MIPS32-NEXT:  # %bb.3: # %entry1257; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1258; MIPS32-NEXT:  # %bb.4: # %entry1259; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1260; MIPS32-NEXT:    sync1261; MIPS32-NEXT:    addiu $sp, $sp, 81262; MIPS32-NEXT:    jr $ra1263; MIPS32-NEXT:    nop1264;1265; MIPSEL-LABEL: test_max_16:1266; MIPSEL:       # %bb.0: # %entry1267; MIPSEL-NEXT:    addiu $sp, $sp, -81268; MIPSEL-NEXT:    .cfi_def_cfa_offset 81269; MIPSEL-NEXT:    # kill: def $at killed $a11270; MIPSEL-NEXT:    sync1271; MIPSEL-NEXT:    addiu $1, $zero, -41272; MIPSEL-NEXT:    and $6, $4, $11273; MIPSEL-NEXT:    andi $1, $4, 31274; MIPSEL-NEXT:    sll $10, $1, 31275; MIPSEL-NEXT:    ori $1, $zero, 655351276; MIPSEL-NEXT:    sllv $8, $1, $101277; MIPSEL-NEXT:    nor $9, $zero, $81278; MIPSEL-NEXT:    sllv $7, $5, $101279; MIPSEL-NEXT:  $BB4_1: # %entry1280; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=11281; MIPSEL-NEXT:    ll $2, 0($6)1282; MIPSEL-NEXT:    srav $4, $2, $101283; MIPSEL-NEXT:    seh $4, $41284; MIPSEL-NEXT:    or $1, $zero, $41285; MIPSEL-NEXT:    sllv $4, $4, $101286; MIPSEL-NEXT:    slt $5, $4, $71287; MIPSEL-NEXT:    move $3, $41288; MIPSEL-NEXT:    movn $3, $7, $51289; MIPSEL-NEXT:    and $3, $3, $81290; MIPSEL-NEXT:    and $4, $2, $91291; MIPSEL-NEXT:    or $4, $4, $31292; MIPSEL-NEXT:    sc $4, 0($6)1293; MIPSEL-NEXT:    beqz $4, $BB4_11294; MIPSEL-NEXT:    nop1295; MIPSEL-NEXT:  # %bb.2: # %entry1296; MIPSEL-NEXT:    .insn1297; MIPSEL-NEXT:  # %bb.3: # %entry1298; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1299; MIPSEL-NEXT:  # %bb.4: # %entry1300; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1301; MIPSEL-NEXT:    sync1302; MIPSEL-NEXT:    addiu $sp, $sp, 81303; MIPSEL-NEXT:    jr $ra1304; MIPSEL-NEXT:    nop1305;1306; MIPSELR6-LABEL: test_max_16:1307; MIPSELR6:       # %bb.0: # %entry1308; MIPSELR6-NEXT:    addiu $sp, $sp, -81309; MIPSELR6-NEXT:    .cfi_def_cfa_offset 81310; MIPSELR6-NEXT:    # kill: def $at killed $a11311; MIPSELR6-NEXT:    sync1312; MIPSELR6-NEXT:    addiu $1, $zero, -41313; MIPSELR6-NEXT:    and $6, $4, $11314; MIPSELR6-NEXT:    andi $1, $4, 31315; MIPSELR6-NEXT:    sll $10, $1, 31316; MIPSELR6-NEXT:    ori $1, $zero, 655351317; MIPSELR6-NEXT:    sllv $8, $1, $101318; MIPSELR6-NEXT:    nor $9, $zero, $81319; MIPSELR6-NEXT:    sllv $7, $5, $101320; MIPSELR6-NEXT:  $BB4_1: # %entry1321; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=11322; MIPSELR6-NEXT:    ll $2, 0($6)1323; MIPSELR6-NEXT:    srav $4, $2, $101324; MIPSELR6-NEXT:    seh $4, $41325; MIPSELR6-NEXT:    or $1, $zero, $41326; MIPSELR6-NEXT:    sllv $4, $4, $101327; MIPSELR6-NEXT:    slt $5, $4, $71328; MIPSELR6-NEXT:    seleqz $3, $4, $51329; MIPSELR6-NEXT:    selnez $5, $7, $51330; MIPSELR6-NEXT:    or $3, $3, $51331; MIPSELR6-NEXT:    and $3, $3, $81332; MIPSELR6-NEXT:    and $4, $2, $91333; MIPSELR6-NEXT:    or $4, $4, $31334; MIPSELR6-NEXT:    sc $4, 0($6)1335; MIPSELR6-NEXT:    beqzc $4, $BB4_11336; MIPSELR6-NEXT:    nop1337; MIPSELR6-NEXT:  # %bb.2: # %entry1338; MIPSELR6-NEXT:    .insn1339; MIPSELR6-NEXT:  # %bb.3: # %entry1340; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1341; MIPSELR6-NEXT:  # %bb.4: # %entry1342; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1343; MIPSELR6-NEXT:    sync1344; MIPSELR6-NEXT:    addiu $sp, $sp, 81345; MIPSELR6-NEXT:    jrc $ra1346;1347; MMEL-LABEL: test_max_16:1348; MMEL:       # %bb.0: # %entry1349; MMEL-NEXT:    addiu $sp, $sp, -81350; MMEL-NEXT:    .cfi_def_cfa_offset 81351; MMEL-NEXT:    # kill: def $at killed $a11352; MMEL-NEXT:    sync1353; MMEL-NEXT:    addiu $1, $zero, -41354; MMEL-NEXT:    and $6, $4, $11355; MMEL-NEXT:    andi $1, $4, 31356; MMEL-NEXT:    sll $10, $1, 31357; MMEL-NEXT:    ori $1, $zero, 655351358; MMEL-NEXT:    sllv $8, $1, $101359; MMEL-NEXT:    nor $9, $zero, $81360; MMEL-NEXT:    sllv $7, $5, $101361; MMEL-NEXT:  $BB4_1: # %entry1362; MMEL-NEXT:    # =>This Inner Loop Header: Depth=11363; MMEL-NEXT:    ll $2, 0($6)1364; MMEL-NEXT:    srav $4, $2, $101365; MMEL-NEXT:    seh $4, $41366; MMEL-NEXT:    or $1, $zero, $41367; MMEL-NEXT:    sllv $4, $4, $101368; MMEL-NEXT:    slt $5, $4, $71369; MMEL-NEXT:    or $3, $4, $zero1370; MMEL-NEXT:    movn $3, $7, $51371; MMEL-NEXT:    and $3, $3, $81372; MMEL-NEXT:    and $4, $2, $91373; MMEL-NEXT:    or $4, $4, $31374; MMEL-NEXT:    sc $4, 0($6)1375; MMEL-NEXT:    beqzc $4, $BB4_11376; MMEL-NEXT:  # %bb.2: # %entry1377; MMEL-NEXT:    .insn1378; MMEL-NEXT:  # %bb.3: # %entry1379; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1380; MMEL-NEXT:  # %bb.4: # %entry1381; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1382; MMEL-NEXT:    sync1383; MMEL-NEXT:    addiusp 81384; MMEL-NEXT:    jrc $ra1385;1386; MMELR6-LABEL: test_max_16:1387; MMELR6:       # %bb.0: # %entry1388; MMELR6-NEXT:    addiu $sp, $sp, -81389; MMELR6-NEXT:    .cfi_def_cfa_offset 81390; MMELR6-NEXT:    # kill: def $at killed $a11391; MMELR6-NEXT:    sync1392; MMELR6-NEXT:    addiu $1, $zero, -41393; MMELR6-NEXT:    and $6, $4, $11394; MMELR6-NEXT:    andi $1, $4, 31395; MMELR6-NEXT:    sll $10, $1, 31396; MMELR6-NEXT:    ori $1, $zero, 655351397; MMELR6-NEXT:    sllv $8, $1, $101398; MMELR6-NEXT:    nor $9, $zero, $81399; MMELR6-NEXT:    sllv $7, $5, $101400; MMELR6-NEXT:  $BB4_1: # %entry1401; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=11402; MMELR6-NEXT:    ll $2, 0($6)1403; MMELR6-NEXT:    srav $4, $2, $101404; MMELR6-NEXT:    seh $4, $41405; MMELR6-NEXT:    or $1, $zero, $41406; MMELR6-NEXT:    sllv $4, $4, $101407; MMELR6-NEXT:    slt $5, $4, $71408; MMELR6-NEXT:    seleqz $3, $4, $51409; MMELR6-NEXT:    selnez $5, $7, $51410; MMELR6-NEXT:    or $3, $3, $51411; MMELR6-NEXT:    and $3, $3, $81412; MMELR6-NEXT:    and $4, $2, $91413; MMELR6-NEXT:    or $4, $4, $31414; MMELR6-NEXT:    sc $4, 0($6)1415; MMELR6-NEXT:    beqc $4, $zero, $BB4_11416; MMELR6-NEXT:  # %bb.2: # %entry1417; MMELR6-NEXT:    .insn1418; MMELR6-NEXT:  # %bb.3: # %entry1419; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1420; MMELR6-NEXT:  # %bb.4: # %entry1421; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1422; MMELR6-NEXT:    sync1423; MMELR6-NEXT:    addiu $sp, $sp, 81424; MMELR6-NEXT:    jrc $ra1425;1426; MIPS64-LABEL: test_max_16:1427; MIPS64:       # %bb.0: # %entry1428; MIPS64-NEXT:    daddiu $sp, $sp, -161429; MIPS64-NEXT:    .cfi_def_cfa_offset 161430; MIPS64-NEXT:    move $1, $51431; MIPS64-NEXT:    sync1432; MIPS64-NEXT:    daddiu $2, $zero, -41433; MIPS64-NEXT:    and $6, $4, $21434; MIPS64-NEXT:    andi $2, $4, 31435; MIPS64-NEXT:    xori $2, $2, 21436; MIPS64-NEXT:    sll $10, $2, 31437; MIPS64-NEXT:    ori $2, $zero, 655351438; MIPS64-NEXT:    sllv $8, $2, $101439; MIPS64-NEXT:    nor $9, $zero, $81440; MIPS64-NEXT:    sllv $7, $1, $101441; MIPS64-NEXT:  .LBB4_1: # %entry1442; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=11443; MIPS64-NEXT:    ll $2, 0($6)1444; MIPS64-NEXT:    srav $4, $2, $101445; MIPS64-NEXT:    seh $4, $41446; MIPS64-NEXT:    or $1, $zero, $41447; MIPS64-NEXT:    sllv $4, $4, $101448; MIPS64-NEXT:    slt $5, $4, $71449; MIPS64-NEXT:    move $3, $41450; MIPS64-NEXT:    movn $3, $7, $51451; MIPS64-NEXT:    and $3, $3, $81452; MIPS64-NEXT:    and $4, $2, $91453; MIPS64-NEXT:    or $4, $4, $31454; MIPS64-NEXT:    sc $4, 0($6)1455; MIPS64-NEXT:    beqz $4, .LBB4_11456; MIPS64-NEXT:    nop1457; MIPS64-NEXT:  # %bb.2: # %entry1458; MIPS64-NEXT:    .insn1459; MIPS64-NEXT:  # %bb.3: # %entry1460; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill1461; MIPS64-NEXT:  # %bb.4: # %entry1462; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload1463; MIPS64-NEXT:    sync1464; MIPS64-NEXT:    daddiu $sp, $sp, 161465; MIPS64-NEXT:    jr $ra1466; MIPS64-NEXT:    nop1467;1468; MIPS64R6-LABEL: test_max_16:1469; MIPS64R6:       # %bb.0: # %entry1470; MIPS64R6-NEXT:    daddiu $sp, $sp, -161471; MIPS64R6-NEXT:    .cfi_def_cfa_offset 161472; MIPS64R6-NEXT:    move $1, $51473; MIPS64R6-NEXT:    sync1474; MIPS64R6-NEXT:    daddiu $2, $zero, -41475; MIPS64R6-NEXT:    and $6, $4, $21476; MIPS64R6-NEXT:    andi $2, $4, 31477; MIPS64R6-NEXT:    xori $2, $2, 21478; MIPS64R6-NEXT:    sll $10, $2, 31479; MIPS64R6-NEXT:    ori $2, $zero, 655351480; MIPS64R6-NEXT:    sllv $8, $2, $101481; MIPS64R6-NEXT:    nor $9, $zero, $81482; MIPS64R6-NEXT:    sllv $7, $1, $101483; MIPS64R6-NEXT:  .LBB4_1: # %entry1484; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=11485; MIPS64R6-NEXT:    ll $2, 0($6)1486; MIPS64R6-NEXT:    srav $4, $2, $101487; MIPS64R6-NEXT:    seh $4, $41488; MIPS64R6-NEXT:    or $1, $zero, $41489; MIPS64R6-NEXT:    sllv $4, $4, $101490; MIPS64R6-NEXT:    slt $5, $4, $71491; MIPS64R6-NEXT:    seleqz $3, $4, $51492; MIPS64R6-NEXT:    selnez $5, $7, $51493; MIPS64R6-NEXT:    or $3, $3, $51494; MIPS64R6-NEXT:    and $3, $3, $81495; MIPS64R6-NEXT:    and $4, $2, $91496; MIPS64R6-NEXT:    or $4, $4, $31497; MIPS64R6-NEXT:    sc $4, 0($6)1498; MIPS64R6-NEXT:    beqzc $4, .LBB4_11499; MIPS64R6-NEXT:    nop1500; MIPS64R6-NEXT:  # %bb.2: # %entry1501; MIPS64R6-NEXT:    .insn1502; MIPS64R6-NEXT:  # %bb.3: # %entry1503; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill1504; MIPS64R6-NEXT:  # %bb.4: # %entry1505; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload1506; MIPS64R6-NEXT:    sync1507; MIPS64R6-NEXT:    daddiu $sp, $sp, 161508; MIPS64R6-NEXT:    jrc $ra1509;1510; MIPS64EL-LABEL: test_max_16:1511; MIPS64EL:       # %bb.0: # %entry1512; MIPS64EL-NEXT:    daddiu $sp, $sp, -161513; MIPS64EL-NEXT:    .cfi_def_cfa_offset 161514; MIPS64EL-NEXT:    move $1, $51515; MIPS64EL-NEXT:    sync1516; MIPS64EL-NEXT:    daddiu $2, $zero, -41517; MIPS64EL-NEXT:    and $6, $4, $21518; MIPS64EL-NEXT:    andi $2, $4, 31519; MIPS64EL-NEXT:    sll $10, $2, 31520; MIPS64EL-NEXT:    ori $2, $zero, 655351521; MIPS64EL-NEXT:    sllv $8, $2, $101522; MIPS64EL-NEXT:    nor $9, $zero, $81523; MIPS64EL-NEXT:    sllv $7, $1, $101524; MIPS64EL-NEXT:  .LBB4_1: # %entry1525; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=11526; MIPS64EL-NEXT:    ll $2, 0($6)1527; MIPS64EL-NEXT:    srav $4, $2, $101528; MIPS64EL-NEXT:    seh $4, $41529; MIPS64EL-NEXT:    or $1, $zero, $41530; MIPS64EL-NEXT:    sllv $4, $4, $101531; MIPS64EL-NEXT:    slt $5, $4, $71532; MIPS64EL-NEXT:    move $3, $41533; MIPS64EL-NEXT:    movn $3, $7, $51534; MIPS64EL-NEXT:    and $3, $3, $81535; MIPS64EL-NEXT:    and $4, $2, $91536; MIPS64EL-NEXT:    or $4, $4, $31537; MIPS64EL-NEXT:    sc $4, 0($6)1538; MIPS64EL-NEXT:    beqz $4, .LBB4_11539; MIPS64EL-NEXT:    nop1540; MIPS64EL-NEXT:  # %bb.2: # %entry1541; MIPS64EL-NEXT:    .insn1542; MIPS64EL-NEXT:  # %bb.3: # %entry1543; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill1544; MIPS64EL-NEXT:  # %bb.4: # %entry1545; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload1546; MIPS64EL-NEXT:    sync1547; MIPS64EL-NEXT:    daddiu $sp, $sp, 161548; MIPS64EL-NEXT:    jr $ra1549; MIPS64EL-NEXT:    nop1550;1551; MIPS64ELR6-LABEL: test_max_16:1552; MIPS64ELR6:       # %bb.0: # %entry1553; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -161554; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 161555; MIPS64ELR6-NEXT:    move $1, $51556; MIPS64ELR6-NEXT:    sync1557; MIPS64ELR6-NEXT:    daddiu $2, $zero, -41558; MIPS64ELR6-NEXT:    and $6, $4, $21559; MIPS64ELR6-NEXT:    andi $2, $4, 31560; MIPS64ELR6-NEXT:    sll $10, $2, 31561; MIPS64ELR6-NEXT:    ori $2, $zero, 655351562; MIPS64ELR6-NEXT:    sllv $8, $2, $101563; MIPS64ELR6-NEXT:    nor $9, $zero, $81564; MIPS64ELR6-NEXT:    sllv $7, $1, $101565; MIPS64ELR6-NEXT:  .LBB4_1: # %entry1566; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=11567; MIPS64ELR6-NEXT:    ll $2, 0($6)1568; MIPS64ELR6-NEXT:    srav $4, $2, $101569; MIPS64ELR6-NEXT:    seh $4, $41570; MIPS64ELR6-NEXT:    or $1, $zero, $41571; MIPS64ELR6-NEXT:    sllv $4, $4, $101572; MIPS64ELR6-NEXT:    slt $5, $4, $71573; MIPS64ELR6-NEXT:    seleqz $3, $4, $51574; MIPS64ELR6-NEXT:    selnez $5, $7, $51575; MIPS64ELR6-NEXT:    or $3, $3, $51576; MIPS64ELR6-NEXT:    and $3, $3, $81577; MIPS64ELR6-NEXT:    and $4, $2, $91578; MIPS64ELR6-NEXT:    or $4, $4, $31579; MIPS64ELR6-NEXT:    sc $4, 0($6)1580; MIPS64ELR6-NEXT:    beqzc $4, .LBB4_11581; MIPS64ELR6-NEXT:    nop1582; MIPS64ELR6-NEXT:  # %bb.2: # %entry1583; MIPS64ELR6-NEXT:    .insn1584; MIPS64ELR6-NEXT:  # %bb.3: # %entry1585; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill1586; MIPS64ELR6-NEXT:  # %bb.4: # %entry1587; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload1588; MIPS64ELR6-NEXT:    sync1589; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 161590; MIPS64ELR6-NEXT:    jrc $ra1591 1592entry:1593  %0 = atomicrmw max ptr %ptr, i16 %val seq_cst1594  ret i16 %01595}1596 1597define i16 @test_min_16(ptr nocapture %ptr, i16 signext %val) {1598; MIPS-LABEL: test_min_16:1599; MIPS:       # %bb.0: # %entry1600; MIPS-NEXT:    addiu $sp, $sp, -81601; MIPS-NEXT:    .cfi_def_cfa_offset 81602; MIPS-NEXT:    # kill: def $at killed $a11603; MIPS-NEXT:    sync1604; MIPS-NEXT:    addiu $1, $zero, -41605; MIPS-NEXT:    and $6, $4, $11606; MIPS-NEXT:    andi $1, $4, 31607; MIPS-NEXT:    xori $1, $1, 21608; MIPS-NEXT:    sll $10, $1, 31609; MIPS-NEXT:    ori $1, $zero, 655351610; MIPS-NEXT:    sllv $8, $1, $101611; MIPS-NEXT:    nor $9, $zero, $81612; MIPS-NEXT:    sllv $7, $5, $101613; MIPS-NEXT:  $BB5_1: # %entry1614; MIPS-NEXT:    # =>This Inner Loop Header: Depth=11615; MIPS-NEXT:    ll $2, 0($6)1616; MIPS-NEXT:    srav $4, $2, $101617; MIPS-NEXT:    seh $4, $41618; MIPS-NEXT:    or $1, $zero, $41619; MIPS-NEXT:    sllv $4, $4, $101620; MIPS-NEXT:    slt $5, $4, $71621; MIPS-NEXT:    move $3, $41622; MIPS-NEXT:    movz $3, $7, $51623; MIPS-NEXT:    and $3, $3, $81624; MIPS-NEXT:    and $4, $2, $91625; MIPS-NEXT:    or $4, $4, $31626; MIPS-NEXT:    sc $4, 0($6)1627; MIPS-NEXT:    beqz $4, $BB5_11628; MIPS-NEXT:    nop1629; MIPS-NEXT:  # %bb.2: # %entry1630; MIPS-NEXT:    .insn1631; MIPS-NEXT:  # %bb.3: # %entry1632; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1633; MIPS-NEXT:  # %bb.4: # %entry1634; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1635; MIPS-NEXT:    sync1636; MIPS-NEXT:    addiu $sp, $sp, 81637; MIPS-NEXT:    jr $ra1638; MIPS-NEXT:    nop1639;1640; MIPS2-LABEL: test_min_16:1641; MIPS2:       # %bb.0: # %entry1642; MIPS2-NEXT:    addiu $sp, $sp, -81643; MIPS2-NEXT:    .cfi_def_cfa_offset 81644; MIPS2-NEXT:    # kill: def $at killed $a11645; MIPS2-NEXT:    sync1646; MIPS2-NEXT:    addiu $1, $zero, -41647; MIPS2-NEXT:    and $6, $4, $11648; MIPS2-NEXT:    andi $1, $4, 31649; MIPS2-NEXT:    sll $10, $1, 31650; MIPS2-NEXT:    ori $1, $zero, 655351651; MIPS2-NEXT:    sllv $8, $1, $101652; MIPS2-NEXT:    nor $9, $zero, $81653; MIPS2-NEXT:    sllv $7, $5, $101654; MIPS2-NEXT:  $BB5_1: # %entry1655; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=11656; MIPS2-NEXT:    ll $2, 0($6)1657; MIPS2-NEXT:    srav $4, $2, $101658; MIPS2-NEXT:    sll $4, $4, 161659; MIPS2-NEXT:    sra $4, $4, 161660; MIPS2-NEXT:    or $1, $zero, $41661; MIPS2-NEXT:    sllv $4, $4, $101662; MIPS2-NEXT:    slt $5, $4, $71663; MIPS2-NEXT:    move $3, $41664; MIPS2-NEXT:    beqz $5, $BB5_31665; MIPS2-NEXT:    nop1666; MIPS2-NEXT:  # %bb.2: # %entry1667; MIPS2-NEXT:    #   in Loop: Header=BB5_1 Depth=11668; MIPS2-NEXT:    j $BB5_41669; MIPS2-NEXT:    nop1670; MIPS2-NEXT:  $BB5_3: # %entry1671; MIPS2-NEXT:    #   in Loop: Header=BB5_1 Depth=11672; MIPS2-NEXT:    move $3, $71673; MIPS2-NEXT:  $BB5_4: # %entry1674; MIPS2-NEXT:    #   in Loop: Header=BB5_1 Depth=11675; MIPS2-NEXT:    and $3, $3, $81676; MIPS2-NEXT:    and $4, $2, $91677; MIPS2-NEXT:    or $4, $4, $31678; MIPS2-NEXT:    sc $4, 0($6)1679; MIPS2-NEXT:    beqz $4, $BB5_11680; MIPS2-NEXT:    nop1681; MIPS2-NEXT:  # %bb.5: # %entry1682; MIPS2-NEXT:    .insn1683; MIPS2-NEXT:  # %bb.6: # %entry1684; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1685; MIPS2-NEXT:  # %bb.7: # %entry1686; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1687; MIPS2-NEXT:    sync1688; MIPS2-NEXT:    addiu $sp, $sp, 81689; MIPS2-NEXT:    jr $ra1690; MIPS2-NEXT:    nop1691;1692; MIPSR6-LABEL: test_min_16:1693; MIPSR6:       # %bb.0: # %entry1694; MIPSR6-NEXT:    addiu $sp, $sp, -81695; MIPSR6-NEXT:    .cfi_def_cfa_offset 81696; MIPSR6-NEXT:    # kill: def $at killed $a11697; MIPSR6-NEXT:    sync1698; MIPSR6-NEXT:    addiu $1, $zero, -41699; MIPSR6-NEXT:    and $6, $4, $11700; MIPSR6-NEXT:    andi $1, $4, 31701; MIPSR6-NEXT:    xori $1, $1, 21702; MIPSR6-NEXT:    sll $10, $1, 31703; MIPSR6-NEXT:    ori $1, $zero, 655351704; MIPSR6-NEXT:    sllv $8, $1, $101705; MIPSR6-NEXT:    nor $9, $zero, $81706; MIPSR6-NEXT:    sllv $7, $5, $101707; MIPSR6-NEXT:  $BB5_1: # %entry1708; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=11709; MIPSR6-NEXT:    ll $2, 0($6)1710; MIPSR6-NEXT:    srav $4, $2, $101711; MIPSR6-NEXT:    seh $4, $41712; MIPSR6-NEXT:    or $1, $zero, $41713; MIPSR6-NEXT:    sllv $4, $4, $101714; MIPSR6-NEXT:    slt $5, $4, $71715; MIPSR6-NEXT:    selnez $3, $4, $51716; MIPSR6-NEXT:    seleqz $5, $7, $51717; MIPSR6-NEXT:    or $3, $3, $51718; MIPSR6-NEXT:    and $3, $3, $81719; MIPSR6-NEXT:    and $4, $2, $91720; MIPSR6-NEXT:    or $4, $4, $31721; MIPSR6-NEXT:    sc $4, 0($6)1722; MIPSR6-NEXT:    beqzc $4, $BB5_11723; MIPSR6-NEXT:    nop1724; MIPSR6-NEXT:  # %bb.2: # %entry1725; MIPSR6-NEXT:    .insn1726; MIPSR6-NEXT:  # %bb.3: # %entry1727; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1728; MIPSR6-NEXT:  # %bb.4: # %entry1729; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1730; MIPSR6-NEXT:    sync1731; MIPSR6-NEXT:    addiu $sp, $sp, 81732; MIPSR6-NEXT:    jrc $ra1733;1734; MM-LABEL: test_min_16:1735; MM:       # %bb.0: # %entry1736; MM-NEXT:    addiu $sp, $sp, -81737; MM-NEXT:    .cfi_def_cfa_offset 81738; MM-NEXT:    # kill: def $at killed $a11739; MM-NEXT:    sync1740; MM-NEXT:    addiu $1, $zero, -41741; MM-NEXT:    and $6, $4, $11742; MM-NEXT:    andi $1, $4, 31743; MM-NEXT:    xori $1, $1, 21744; MM-NEXT:    sll $10, $1, 31745; MM-NEXT:    ori $1, $zero, 655351746; MM-NEXT:    sllv $8, $1, $101747; MM-NEXT:    nor $9, $zero, $81748; MM-NEXT:    sllv $7, $5, $101749; MM-NEXT:  $BB5_1: # %entry1750; MM-NEXT:    # =>This Inner Loop Header: Depth=11751; MM-NEXT:    ll $2, 0($6)1752; MM-NEXT:    srav $4, $2, $101753; MM-NEXT:    seh $4, $41754; MM-NEXT:    or $1, $zero, $41755; MM-NEXT:    sllv $4, $4, $101756; MM-NEXT:    slt $5, $4, $71757; MM-NEXT:    or $3, $4, $zero1758; MM-NEXT:    movz $3, $7, $51759; MM-NEXT:    and $3, $3, $81760; MM-NEXT:    and $4, $2, $91761; MM-NEXT:    or $4, $4, $31762; MM-NEXT:    sc $4, 0($6)1763; MM-NEXT:    beqzc $4, $BB5_11764; MM-NEXT:  # %bb.2: # %entry1765; MM-NEXT:    .insn1766; MM-NEXT:  # %bb.3: # %entry1767; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1768; MM-NEXT:  # %bb.4: # %entry1769; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1770; MM-NEXT:    sync1771; MM-NEXT:    addiusp 81772; MM-NEXT:    jrc $ra1773;1774; MMR6-LABEL: test_min_16:1775; MMR6:       # %bb.0: # %entry1776; MMR6-NEXT:    addiu $sp, $sp, -81777; MMR6-NEXT:    .cfi_def_cfa_offset 81778; MMR6-NEXT:    # kill: def $at killed $a11779; MMR6-NEXT:    sync1780; MMR6-NEXT:    addiu $1, $zero, -41781; MMR6-NEXT:    and $6, $4, $11782; MMR6-NEXT:    andi $1, $4, 31783; MMR6-NEXT:    xori $1, $1, 21784; MMR6-NEXT:    sll $10, $1, 31785; MMR6-NEXT:    ori $1, $zero, 655351786; MMR6-NEXT:    sllv $8, $1, $101787; MMR6-NEXT:    nor $9, $zero, $81788; MMR6-NEXT:    sllv $7, $5, $101789; MMR6-NEXT:  $BB5_1: # %entry1790; MMR6-NEXT:    # =>This Inner Loop Header: Depth=11791; MMR6-NEXT:    ll $2, 0($6)1792; MMR6-NEXT:    srav $4, $2, $101793; MMR6-NEXT:    seh $4, $41794; MMR6-NEXT:    or $1, $zero, $41795; MMR6-NEXT:    sllv $4, $4, $101796; MMR6-NEXT:    slt $5, $4, $71797; MMR6-NEXT:    selnez $3, $4, $51798; MMR6-NEXT:    seleqz $5, $7, $51799; MMR6-NEXT:    or $3, $3, $51800; MMR6-NEXT:    and $3, $3, $81801; MMR6-NEXT:    and $4, $2, $91802; MMR6-NEXT:    or $4, $4, $31803; MMR6-NEXT:    sc $4, 0($6)1804; MMR6-NEXT:    beqc $4, $zero, $BB5_11805; MMR6-NEXT:  # %bb.2: # %entry1806; MMR6-NEXT:    .insn1807; MMR6-NEXT:  # %bb.3: # %entry1808; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1809; MMR6-NEXT:  # %bb.4: # %entry1810; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1811; MMR6-NEXT:    sync1812; MMR6-NEXT:    addiu $sp, $sp, 81813; MMR6-NEXT:    jrc $ra1814;1815; MIPS32-LABEL: test_min_16:1816; MIPS32:       # %bb.0: # %entry1817; MIPS32-NEXT:    addiu $sp, $sp, -81818; MIPS32-NEXT:    .cfi_def_cfa_offset 81819; MIPS32-NEXT:    # kill: def $at killed $a11820; MIPS32-NEXT:    sync1821; MIPS32-NEXT:    addiu $1, $zero, -41822; MIPS32-NEXT:    and $6, $4, $11823; MIPS32-NEXT:    andi $1, $4, 31824; MIPS32-NEXT:    sll $10, $1, 31825; MIPS32-NEXT:    ori $1, $zero, 655351826; MIPS32-NEXT:    sllv $8, $1, $101827; MIPS32-NEXT:    nor $9, $zero, $81828; MIPS32-NEXT:    sllv $7, $5, $101829; MIPS32-NEXT:  $BB5_1: # %entry1830; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=11831; MIPS32-NEXT:    ll $2, 0($6)1832; MIPS32-NEXT:    srav $4, $2, $101833; MIPS32-NEXT:    sll $4, $4, 161834; MIPS32-NEXT:    sra $4, $4, 161835; MIPS32-NEXT:    or $1, $zero, $41836; MIPS32-NEXT:    sllv $4, $4, $101837; MIPS32-NEXT:    slt $5, $4, $71838; MIPS32-NEXT:    move $3, $41839; MIPS32-NEXT:    movz $3, $7, $51840; MIPS32-NEXT:    and $3, $3, $81841; MIPS32-NEXT:    and $4, $2, $91842; MIPS32-NEXT:    or $4, $4, $31843; MIPS32-NEXT:    sc $4, 0($6)1844; MIPS32-NEXT:    beqz $4, $BB5_11845; MIPS32-NEXT:    nop1846; MIPS32-NEXT:  # %bb.2: # %entry1847; MIPS32-NEXT:    .insn1848; MIPS32-NEXT:  # %bb.3: # %entry1849; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1850; MIPS32-NEXT:  # %bb.4: # %entry1851; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1852; MIPS32-NEXT:    sync1853; MIPS32-NEXT:    addiu $sp, $sp, 81854; MIPS32-NEXT:    jr $ra1855; MIPS32-NEXT:    nop1856;1857; MIPSEL-LABEL: test_min_16:1858; MIPSEL:       # %bb.0: # %entry1859; MIPSEL-NEXT:    addiu $sp, $sp, -81860; MIPSEL-NEXT:    .cfi_def_cfa_offset 81861; MIPSEL-NEXT:    # kill: def $at killed $a11862; MIPSEL-NEXT:    sync1863; MIPSEL-NEXT:    addiu $1, $zero, -41864; MIPSEL-NEXT:    and $6, $4, $11865; MIPSEL-NEXT:    andi $1, $4, 31866; MIPSEL-NEXT:    sll $10, $1, 31867; MIPSEL-NEXT:    ori $1, $zero, 655351868; MIPSEL-NEXT:    sllv $8, $1, $101869; MIPSEL-NEXT:    nor $9, $zero, $81870; MIPSEL-NEXT:    sllv $7, $5, $101871; MIPSEL-NEXT:  $BB5_1: # %entry1872; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=11873; MIPSEL-NEXT:    ll $2, 0($6)1874; MIPSEL-NEXT:    srav $4, $2, $101875; MIPSEL-NEXT:    seh $4, $41876; MIPSEL-NEXT:    or $1, $zero, $41877; MIPSEL-NEXT:    sllv $4, $4, $101878; MIPSEL-NEXT:    slt $5, $4, $71879; MIPSEL-NEXT:    move $3, $41880; MIPSEL-NEXT:    movz $3, $7, $51881; MIPSEL-NEXT:    and $3, $3, $81882; MIPSEL-NEXT:    and $4, $2, $91883; MIPSEL-NEXT:    or $4, $4, $31884; MIPSEL-NEXT:    sc $4, 0($6)1885; MIPSEL-NEXT:    beqz $4, $BB5_11886; MIPSEL-NEXT:    nop1887; MIPSEL-NEXT:  # %bb.2: # %entry1888; MIPSEL-NEXT:    .insn1889; MIPSEL-NEXT:  # %bb.3: # %entry1890; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1891; MIPSEL-NEXT:  # %bb.4: # %entry1892; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1893; MIPSEL-NEXT:    sync1894; MIPSEL-NEXT:    addiu $sp, $sp, 81895; MIPSEL-NEXT:    jr $ra1896; MIPSEL-NEXT:    nop1897;1898; MIPSELR6-LABEL: test_min_16:1899; MIPSELR6:       # %bb.0: # %entry1900; MIPSELR6-NEXT:    addiu $sp, $sp, -81901; MIPSELR6-NEXT:    .cfi_def_cfa_offset 81902; MIPSELR6-NEXT:    # kill: def $at killed $a11903; MIPSELR6-NEXT:    sync1904; MIPSELR6-NEXT:    addiu $1, $zero, -41905; MIPSELR6-NEXT:    and $6, $4, $11906; MIPSELR6-NEXT:    andi $1, $4, 31907; MIPSELR6-NEXT:    sll $10, $1, 31908; MIPSELR6-NEXT:    ori $1, $zero, 655351909; MIPSELR6-NEXT:    sllv $8, $1, $101910; MIPSELR6-NEXT:    nor $9, $zero, $81911; MIPSELR6-NEXT:    sllv $7, $5, $101912; MIPSELR6-NEXT:  $BB5_1: # %entry1913; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=11914; MIPSELR6-NEXT:    ll $2, 0($6)1915; MIPSELR6-NEXT:    srav $4, $2, $101916; MIPSELR6-NEXT:    seh $4, $41917; MIPSELR6-NEXT:    or $1, $zero, $41918; MIPSELR6-NEXT:    sllv $4, $4, $101919; MIPSELR6-NEXT:    slt $5, $4, $71920; MIPSELR6-NEXT:    selnez $3, $4, $51921; MIPSELR6-NEXT:    seleqz $5, $7, $51922; MIPSELR6-NEXT:    or $3, $3, $51923; MIPSELR6-NEXT:    and $3, $3, $81924; MIPSELR6-NEXT:    and $4, $2, $91925; MIPSELR6-NEXT:    or $4, $4, $31926; MIPSELR6-NEXT:    sc $4, 0($6)1927; MIPSELR6-NEXT:    beqzc $4, $BB5_11928; MIPSELR6-NEXT:    nop1929; MIPSELR6-NEXT:  # %bb.2: # %entry1930; MIPSELR6-NEXT:    .insn1931; MIPSELR6-NEXT:  # %bb.3: # %entry1932; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1933; MIPSELR6-NEXT:  # %bb.4: # %entry1934; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1935; MIPSELR6-NEXT:    sync1936; MIPSELR6-NEXT:    addiu $sp, $sp, 81937; MIPSELR6-NEXT:    jrc $ra1938;1939; MMEL-LABEL: test_min_16:1940; MMEL:       # %bb.0: # %entry1941; MMEL-NEXT:    addiu $sp, $sp, -81942; MMEL-NEXT:    .cfi_def_cfa_offset 81943; MMEL-NEXT:    # kill: def $at killed $a11944; MMEL-NEXT:    sync1945; MMEL-NEXT:    addiu $1, $zero, -41946; MMEL-NEXT:    and $6, $4, $11947; MMEL-NEXT:    andi $1, $4, 31948; MMEL-NEXT:    sll $10, $1, 31949; MMEL-NEXT:    ori $1, $zero, 655351950; MMEL-NEXT:    sllv $8, $1, $101951; MMEL-NEXT:    nor $9, $zero, $81952; MMEL-NEXT:    sllv $7, $5, $101953; MMEL-NEXT:  $BB5_1: # %entry1954; MMEL-NEXT:    # =>This Inner Loop Header: Depth=11955; MMEL-NEXT:    ll $2, 0($6)1956; MMEL-NEXT:    srav $4, $2, $101957; MMEL-NEXT:    seh $4, $41958; MMEL-NEXT:    or $1, $zero, $41959; MMEL-NEXT:    sllv $4, $4, $101960; MMEL-NEXT:    slt $5, $4, $71961; MMEL-NEXT:    or $3, $4, $zero1962; MMEL-NEXT:    movz $3, $7, $51963; MMEL-NEXT:    and $3, $3, $81964; MMEL-NEXT:    and $4, $2, $91965; MMEL-NEXT:    or $4, $4, $31966; MMEL-NEXT:    sc $4, 0($6)1967; MMEL-NEXT:    beqzc $4, $BB5_11968; MMEL-NEXT:  # %bb.2: # %entry1969; MMEL-NEXT:    .insn1970; MMEL-NEXT:  # %bb.3: # %entry1971; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill1972; MMEL-NEXT:  # %bb.4: # %entry1973; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload1974; MMEL-NEXT:    sync1975; MMEL-NEXT:    addiusp 81976; MMEL-NEXT:    jrc $ra1977;1978; MMELR6-LABEL: test_min_16:1979; MMELR6:       # %bb.0: # %entry1980; MMELR6-NEXT:    addiu $sp, $sp, -81981; MMELR6-NEXT:    .cfi_def_cfa_offset 81982; MMELR6-NEXT:    # kill: def $at killed $a11983; MMELR6-NEXT:    sync1984; MMELR6-NEXT:    addiu $1, $zero, -41985; MMELR6-NEXT:    and $6, $4, $11986; MMELR6-NEXT:    andi $1, $4, 31987; MMELR6-NEXT:    sll $10, $1, 31988; MMELR6-NEXT:    ori $1, $zero, 655351989; MMELR6-NEXT:    sllv $8, $1, $101990; MMELR6-NEXT:    nor $9, $zero, $81991; MMELR6-NEXT:    sllv $7, $5, $101992; MMELR6-NEXT:  $BB5_1: # %entry1993; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=11994; MMELR6-NEXT:    ll $2, 0($6)1995; MMELR6-NEXT:    srav $4, $2, $101996; MMELR6-NEXT:    seh $4, $41997; MMELR6-NEXT:    or $1, $zero, $41998; MMELR6-NEXT:    sllv $4, $4, $101999; MMELR6-NEXT:    slt $5, $4, $72000; MMELR6-NEXT:    selnez $3, $4, $52001; MMELR6-NEXT:    seleqz $5, $7, $52002; MMELR6-NEXT:    or $3, $3, $52003; MMELR6-NEXT:    and $3, $3, $82004; MMELR6-NEXT:    and $4, $2, $92005; MMELR6-NEXT:    or $4, $4, $32006; MMELR6-NEXT:    sc $4, 0($6)2007; MMELR6-NEXT:    beqc $4, $zero, $BB5_12008; MMELR6-NEXT:  # %bb.2: # %entry2009; MMELR6-NEXT:    .insn2010; MMELR6-NEXT:  # %bb.3: # %entry2011; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2012; MMELR6-NEXT:  # %bb.4: # %entry2013; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2014; MMELR6-NEXT:    sync2015; MMELR6-NEXT:    addiu $sp, $sp, 82016; MMELR6-NEXT:    jrc $ra2017;2018; MIPS64-LABEL: test_min_16:2019; MIPS64:       # %bb.0: # %entry2020; MIPS64-NEXT:    daddiu $sp, $sp, -162021; MIPS64-NEXT:    .cfi_def_cfa_offset 162022; MIPS64-NEXT:    move $1, $52023; MIPS64-NEXT:    sync2024; MIPS64-NEXT:    daddiu $2, $zero, -42025; MIPS64-NEXT:    and $6, $4, $22026; MIPS64-NEXT:    andi $2, $4, 32027; MIPS64-NEXT:    xori $2, $2, 22028; MIPS64-NEXT:    sll $10, $2, 32029; MIPS64-NEXT:    ori $2, $zero, 655352030; MIPS64-NEXT:    sllv $8, $2, $102031; MIPS64-NEXT:    nor $9, $zero, $82032; MIPS64-NEXT:    sllv $7, $1, $102033; MIPS64-NEXT:  .LBB5_1: # %entry2034; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=12035; MIPS64-NEXT:    ll $2, 0($6)2036; MIPS64-NEXT:    srav $4, $2, $102037; MIPS64-NEXT:    seh $4, $42038; MIPS64-NEXT:    or $1, $zero, $42039; MIPS64-NEXT:    sllv $4, $4, $102040; MIPS64-NEXT:    slt $5, $4, $72041; MIPS64-NEXT:    move $3, $42042; MIPS64-NEXT:    movz $3, $7, $52043; MIPS64-NEXT:    and $3, $3, $82044; MIPS64-NEXT:    and $4, $2, $92045; MIPS64-NEXT:    or $4, $4, $32046; MIPS64-NEXT:    sc $4, 0($6)2047; MIPS64-NEXT:    beqz $4, .LBB5_12048; MIPS64-NEXT:    nop2049; MIPS64-NEXT:  # %bb.2: # %entry2050; MIPS64-NEXT:    .insn2051; MIPS64-NEXT:  # %bb.3: # %entry2052; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2053; MIPS64-NEXT:  # %bb.4: # %entry2054; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2055; MIPS64-NEXT:    sync2056; MIPS64-NEXT:    daddiu $sp, $sp, 162057; MIPS64-NEXT:    jr $ra2058; MIPS64-NEXT:    nop2059;2060; MIPS64R6-LABEL: test_min_16:2061; MIPS64R6:       # %bb.0: # %entry2062; MIPS64R6-NEXT:    daddiu $sp, $sp, -162063; MIPS64R6-NEXT:    .cfi_def_cfa_offset 162064; MIPS64R6-NEXT:    move $1, $52065; MIPS64R6-NEXT:    sync2066; MIPS64R6-NEXT:    daddiu $2, $zero, -42067; MIPS64R6-NEXT:    and $6, $4, $22068; MIPS64R6-NEXT:    andi $2, $4, 32069; MIPS64R6-NEXT:    xori $2, $2, 22070; MIPS64R6-NEXT:    sll $10, $2, 32071; MIPS64R6-NEXT:    ori $2, $zero, 655352072; MIPS64R6-NEXT:    sllv $8, $2, $102073; MIPS64R6-NEXT:    nor $9, $zero, $82074; MIPS64R6-NEXT:    sllv $7, $1, $102075; MIPS64R6-NEXT:  .LBB5_1: # %entry2076; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=12077; MIPS64R6-NEXT:    ll $2, 0($6)2078; MIPS64R6-NEXT:    srav $4, $2, $102079; MIPS64R6-NEXT:    seh $4, $42080; MIPS64R6-NEXT:    or $1, $zero, $42081; MIPS64R6-NEXT:    sllv $4, $4, $102082; MIPS64R6-NEXT:    slt $5, $4, $72083; MIPS64R6-NEXT:    selnez $3, $4, $52084; MIPS64R6-NEXT:    seleqz $5, $7, $52085; MIPS64R6-NEXT:    or $3, $3, $52086; MIPS64R6-NEXT:    and $3, $3, $82087; MIPS64R6-NEXT:    and $4, $2, $92088; MIPS64R6-NEXT:    or $4, $4, $32089; MIPS64R6-NEXT:    sc $4, 0($6)2090; MIPS64R6-NEXT:    beqzc $4, .LBB5_12091; MIPS64R6-NEXT:    nop2092; MIPS64R6-NEXT:  # %bb.2: # %entry2093; MIPS64R6-NEXT:    .insn2094; MIPS64R6-NEXT:  # %bb.3: # %entry2095; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2096; MIPS64R6-NEXT:  # %bb.4: # %entry2097; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2098; MIPS64R6-NEXT:    sync2099; MIPS64R6-NEXT:    daddiu $sp, $sp, 162100; MIPS64R6-NEXT:    jrc $ra2101;2102; MIPS64EL-LABEL: test_min_16:2103; MIPS64EL:       # %bb.0: # %entry2104; MIPS64EL-NEXT:    daddiu $sp, $sp, -162105; MIPS64EL-NEXT:    .cfi_def_cfa_offset 162106; MIPS64EL-NEXT:    move $1, $52107; MIPS64EL-NEXT:    sync2108; MIPS64EL-NEXT:    daddiu $2, $zero, -42109; MIPS64EL-NEXT:    and $6, $4, $22110; MIPS64EL-NEXT:    andi $2, $4, 32111; MIPS64EL-NEXT:    sll $10, $2, 32112; MIPS64EL-NEXT:    ori $2, $zero, 655352113; MIPS64EL-NEXT:    sllv $8, $2, $102114; MIPS64EL-NEXT:    nor $9, $zero, $82115; MIPS64EL-NEXT:    sllv $7, $1, $102116; MIPS64EL-NEXT:  .LBB5_1: # %entry2117; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=12118; MIPS64EL-NEXT:    ll $2, 0($6)2119; MIPS64EL-NEXT:    srav $4, $2, $102120; MIPS64EL-NEXT:    seh $4, $42121; MIPS64EL-NEXT:    or $1, $zero, $42122; MIPS64EL-NEXT:    sllv $4, $4, $102123; MIPS64EL-NEXT:    slt $5, $4, $72124; MIPS64EL-NEXT:    move $3, $42125; MIPS64EL-NEXT:    movz $3, $7, $52126; MIPS64EL-NEXT:    and $3, $3, $82127; MIPS64EL-NEXT:    and $4, $2, $92128; MIPS64EL-NEXT:    or $4, $4, $32129; MIPS64EL-NEXT:    sc $4, 0($6)2130; MIPS64EL-NEXT:    beqz $4, .LBB5_12131; MIPS64EL-NEXT:    nop2132; MIPS64EL-NEXT:  # %bb.2: # %entry2133; MIPS64EL-NEXT:    .insn2134; MIPS64EL-NEXT:  # %bb.3: # %entry2135; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2136; MIPS64EL-NEXT:  # %bb.4: # %entry2137; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2138; MIPS64EL-NEXT:    sync2139; MIPS64EL-NEXT:    daddiu $sp, $sp, 162140; MIPS64EL-NEXT:    jr $ra2141; MIPS64EL-NEXT:    nop2142;2143; MIPS64ELR6-LABEL: test_min_16:2144; MIPS64ELR6:       # %bb.0: # %entry2145; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -162146; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 162147; MIPS64ELR6-NEXT:    move $1, $52148; MIPS64ELR6-NEXT:    sync2149; MIPS64ELR6-NEXT:    daddiu $2, $zero, -42150; MIPS64ELR6-NEXT:    and $6, $4, $22151; MIPS64ELR6-NEXT:    andi $2, $4, 32152; MIPS64ELR6-NEXT:    sll $10, $2, 32153; MIPS64ELR6-NEXT:    ori $2, $zero, 655352154; MIPS64ELR6-NEXT:    sllv $8, $2, $102155; MIPS64ELR6-NEXT:    nor $9, $zero, $82156; MIPS64ELR6-NEXT:    sllv $7, $1, $102157; MIPS64ELR6-NEXT:  .LBB5_1: # %entry2158; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=12159; MIPS64ELR6-NEXT:    ll $2, 0($6)2160; MIPS64ELR6-NEXT:    srav $4, $2, $102161; MIPS64ELR6-NEXT:    seh $4, $42162; MIPS64ELR6-NEXT:    or $1, $zero, $42163; MIPS64ELR6-NEXT:    sllv $4, $4, $102164; MIPS64ELR6-NEXT:    slt $5, $4, $72165; MIPS64ELR6-NEXT:    selnez $3, $4, $52166; MIPS64ELR6-NEXT:    seleqz $5, $7, $52167; MIPS64ELR6-NEXT:    or $3, $3, $52168; MIPS64ELR6-NEXT:    and $3, $3, $82169; MIPS64ELR6-NEXT:    and $4, $2, $92170; MIPS64ELR6-NEXT:    or $4, $4, $32171; MIPS64ELR6-NEXT:    sc $4, 0($6)2172; MIPS64ELR6-NEXT:    beqzc $4, .LBB5_12173; MIPS64ELR6-NEXT:    nop2174; MIPS64ELR6-NEXT:  # %bb.2: # %entry2175; MIPS64ELR6-NEXT:    .insn2176; MIPS64ELR6-NEXT:  # %bb.3: # %entry2177; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2178; MIPS64ELR6-NEXT:  # %bb.4: # %entry2179; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2180; MIPS64ELR6-NEXT:    sync2181; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 162182; MIPS64ELR6-NEXT:    jrc $ra2183entry:2184  %0 = atomicrmw min ptr %ptr, i16 %val seq_cst2185  ret i16 %02186}2187 2188define i16 @test_umax_16(ptr nocapture %ptr, i16 signext %val) {2189; MIPS-LABEL: test_umax_16:2190; MIPS:       # %bb.0: # %entry2191; MIPS-NEXT:    addiu $sp, $sp, -82192; MIPS-NEXT:    .cfi_def_cfa_offset 82193; MIPS-NEXT:    # kill: def $at killed $a12194; MIPS-NEXT:    sync2195; MIPS-NEXT:    addiu $1, $zero, -42196; MIPS-NEXT:    and $6, $4, $12197; MIPS-NEXT:    andi $1, $4, 32198; MIPS-NEXT:    xori $1, $1, 22199; MIPS-NEXT:    sll $10, $1, 32200; MIPS-NEXT:    ori $1, $zero, 655352201; MIPS-NEXT:    sllv $8, $1, $102202; MIPS-NEXT:    nor $9, $zero, $82203; MIPS-NEXT:    sllv $7, $5, $102204; MIPS-NEXT:  $BB6_1: # %entry2205; MIPS-NEXT:    # =>This Inner Loop Header: Depth=12206; MIPS-NEXT:    ll $2, 0($6)2207; MIPS-NEXT:    srav $4, $2, $102208; MIPS-NEXT:    andi $4, $4, 655352209; MIPS-NEXT:    or $1, $zero, $42210; MIPS-NEXT:    sllv $4, $4, $102211; MIPS-NEXT:    sltu $5, $4, $72212; MIPS-NEXT:    move $3, $42213; MIPS-NEXT:    movn $3, $7, $52214; MIPS-NEXT:    and $3, $3, $82215; MIPS-NEXT:    and $4, $2, $92216; MIPS-NEXT:    or $4, $4, $32217; MIPS-NEXT:    sc $4, 0($6)2218; MIPS-NEXT:    beqz $4, $BB6_12219; MIPS-NEXT:    nop2220; MIPS-NEXT:  # %bb.2: # %entry2221; MIPS-NEXT:    .insn2222; MIPS-NEXT:  # %bb.3: # %entry2223; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2224; MIPS-NEXT:  # %bb.4: # %entry2225; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2226; MIPS-NEXT:    sync2227; MIPS-NEXT:    addiu $sp, $sp, 82228; MIPS-NEXT:    jr $ra2229; MIPS-NEXT:    nop2230;2231; MIPS2-LABEL: test_umax_16:2232; MIPS2:       # %bb.0: # %entry2233; MIPS2-NEXT:    addiu $sp, $sp, -82234; MIPS2-NEXT:    .cfi_def_cfa_offset 82235; MIPS2-NEXT:    # kill: def $at killed $a12236; MIPS2-NEXT:    sync2237; MIPS2-NEXT:    addiu $1, $zero, -42238; MIPS2-NEXT:    and $6, $4, $12239; MIPS2-NEXT:    andi $1, $4, 32240; MIPS2-NEXT:    sll $10, $1, 32241; MIPS2-NEXT:    ori $1, $zero, 655352242; MIPS2-NEXT:    sllv $8, $1, $102243; MIPS2-NEXT:    nor $9, $zero, $82244; MIPS2-NEXT:    sllv $7, $5, $102245; MIPS2-NEXT:  $BB6_1: # %entry2246; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=12247; MIPS2-NEXT:    ll $2, 0($6)2248; MIPS2-NEXT:    srav $4, $2, $102249; MIPS2-NEXT:    andi $4, $4, 655352250; MIPS2-NEXT:    or $1, $zero, $42251; MIPS2-NEXT:    sllv $4, $4, $102252; MIPS2-NEXT:    sltu $5, $4, $72253; MIPS2-NEXT:    move $3, $72254; MIPS2-NEXT:    beqz $5, $BB6_32255; MIPS2-NEXT:    nop2256; MIPS2-NEXT:  # %bb.2: # %entry2257; MIPS2-NEXT:    #   in Loop: Header=BB6_1 Depth=12258; MIPS2-NEXT:    j $BB6_42259; MIPS2-NEXT:    nop2260; MIPS2-NEXT:  $BB6_3: # %entry2261; MIPS2-NEXT:    #   in Loop: Header=BB6_1 Depth=12262; MIPS2-NEXT:    move $3, $42263; MIPS2-NEXT:  $BB6_4: # %entry2264; MIPS2-NEXT:    #   in Loop: Header=BB6_1 Depth=12265; MIPS2-NEXT:    and $3, $3, $82266; MIPS2-NEXT:    and $4, $2, $92267; MIPS2-NEXT:    or $4, $4, $32268; MIPS2-NEXT:    sc $4, 0($6)2269; MIPS2-NEXT:    beqz $4, $BB6_12270; MIPS2-NEXT:    nop2271; MIPS2-NEXT:  # %bb.5: # %entry2272; MIPS2-NEXT:    .insn2273; MIPS2-NEXT:  # %bb.6: # %entry2274; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2275; MIPS2-NEXT:  # %bb.7: # %entry2276; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2277; MIPS2-NEXT:    sync2278; MIPS2-NEXT:    addiu $sp, $sp, 82279; MIPS2-NEXT:    jr $ra2280; MIPS2-NEXT:    nop2281;2282; MIPSR6-LABEL: test_umax_16:2283; MIPSR6:       # %bb.0: # %entry2284; MIPSR6-NEXT:    addiu $sp, $sp, -82285; MIPSR6-NEXT:    .cfi_def_cfa_offset 82286; MIPSR6-NEXT:    # kill: def $at killed $a12287; MIPSR6-NEXT:    sync2288; MIPSR6-NEXT:    addiu $1, $zero, -42289; MIPSR6-NEXT:    and $6, $4, $12290; MIPSR6-NEXT:    andi $1, $4, 32291; MIPSR6-NEXT:    xori $1, $1, 22292; MIPSR6-NEXT:    sll $10, $1, 32293; MIPSR6-NEXT:    ori $1, $zero, 655352294; MIPSR6-NEXT:    sllv $8, $1, $102295; MIPSR6-NEXT:    nor $9, $zero, $82296; MIPSR6-NEXT:    sllv $7, $5, $102297; MIPSR6-NEXT:  $BB6_1: # %entry2298; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=12299; MIPSR6-NEXT:    ll $2, 0($6)2300; MIPSR6-NEXT:    srav $4, $2, $102301; MIPSR6-NEXT:    andi $4, $4, 655352302; MIPSR6-NEXT:    or $1, $zero, $42303; MIPSR6-NEXT:    sllv $4, $4, $102304; MIPSR6-NEXT:    sltu $5, $4, $72305; MIPSR6-NEXT:    seleqz $3, $4, $52306; MIPSR6-NEXT:    selnez $5, $7, $52307; MIPSR6-NEXT:    or $3, $3, $52308; MIPSR6-NEXT:    and $3, $3, $82309; MIPSR6-NEXT:    and $4, $2, $92310; MIPSR6-NEXT:    or $4, $4, $32311; MIPSR6-NEXT:    sc $4, 0($6)2312; MIPSR6-NEXT:    beqzc $4, $BB6_12313; MIPSR6-NEXT:    nop2314; MIPSR6-NEXT:  # %bb.2: # %entry2315; MIPSR6-NEXT:    .insn2316; MIPSR6-NEXT:  # %bb.3: # %entry2317; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2318; MIPSR6-NEXT:  # %bb.4: # %entry2319; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2320; MIPSR6-NEXT:    sync2321; MIPSR6-NEXT:    addiu $sp, $sp, 82322; MIPSR6-NEXT:    jrc $ra2323;2324; MM-LABEL: test_umax_16:2325; MM:       # %bb.0: # %entry2326; MM-NEXT:    addiu $sp, $sp, -82327; MM-NEXT:    .cfi_def_cfa_offset 82328; MM-NEXT:    # kill: def $at killed $a12329; MM-NEXT:    sync2330; MM-NEXT:    addiu $1, $zero, -42331; MM-NEXT:    and $6, $4, $12332; MM-NEXT:    andi $1, $4, 32333; MM-NEXT:    xori $1, $1, 22334; MM-NEXT:    sll $10, $1, 32335; MM-NEXT:    ori $1, $zero, 655352336; MM-NEXT:    sllv $8, $1, $102337; MM-NEXT:    nor $9, $zero, $82338; MM-NEXT:    sllv $7, $5, $102339; MM-NEXT:  $BB6_1: # %entry2340; MM-NEXT:    # =>This Inner Loop Header: Depth=12341; MM-NEXT:    ll $2, 0($6)2342; MM-NEXT:    srav $4, $2, $102343; MM-NEXT:    andi $4, $4, 655352344; MM-NEXT:    or $1, $zero, $42345; MM-NEXT:    sllv $4, $4, $102346; MM-NEXT:    sltu $5, $4, $72347; MM-NEXT:    or $3, $4, $zero2348; MM-NEXT:    movn $3, $7, $52349; MM-NEXT:    and $3, $3, $82350; MM-NEXT:    and $4, $2, $92351; MM-NEXT:    or $4, $4, $32352; MM-NEXT:    sc $4, 0($6)2353; MM-NEXT:    beqzc $4, $BB6_12354; MM-NEXT:  # %bb.2: # %entry2355; MM-NEXT:    .insn2356; MM-NEXT:  # %bb.3: # %entry2357; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2358; MM-NEXT:  # %bb.4: # %entry2359; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2360; MM-NEXT:    sync2361; MM-NEXT:    addiusp 82362; MM-NEXT:    jrc $ra2363;2364; MMR6-LABEL: test_umax_16:2365; MMR6:       # %bb.0: # %entry2366; MMR6-NEXT:    addiu $sp, $sp, -82367; MMR6-NEXT:    .cfi_def_cfa_offset 82368; MMR6-NEXT:    # kill: def $at killed $a12369; MMR6-NEXT:    sync2370; MMR6-NEXT:    addiu $1, $zero, -42371; MMR6-NEXT:    and $6, $4, $12372; MMR6-NEXT:    andi $1, $4, 32373; MMR6-NEXT:    xori $1, $1, 22374; MMR6-NEXT:    sll $10, $1, 32375; MMR6-NEXT:    ori $1, $zero, 655352376; MMR6-NEXT:    sllv $8, $1, $102377; MMR6-NEXT:    nor $9, $zero, $82378; MMR6-NEXT:    sllv $7, $5, $102379; MMR6-NEXT:  $BB6_1: # %entry2380; MMR6-NEXT:    # =>This Inner Loop Header: Depth=12381; MMR6-NEXT:    ll $2, 0($6)2382; MMR6-NEXT:    srav $4, $2, $102383; MMR6-NEXT:    andi $4, $4, 655352384; MMR6-NEXT:    or $1, $zero, $42385; MMR6-NEXT:    sllv $4, $4, $102386; MMR6-NEXT:    sltu $5, $4, $72387; MMR6-NEXT:    seleqz $3, $4, $52388; MMR6-NEXT:    selnez $5, $7, $52389; MMR6-NEXT:    or $3, $3, $52390; MMR6-NEXT:    and $3, $3, $82391; MMR6-NEXT:    and $4, $2, $92392; MMR6-NEXT:    or $4, $4, $32393; MMR6-NEXT:    sc $4, 0($6)2394; MMR6-NEXT:    beqc $4, $zero, $BB6_12395; MMR6-NEXT:  # %bb.2: # %entry2396; MMR6-NEXT:    .insn2397; MMR6-NEXT:  # %bb.3: # %entry2398; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2399; MMR6-NEXT:  # %bb.4: # %entry2400; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2401; MMR6-NEXT:    sync2402; MMR6-NEXT:    addiu $sp, $sp, 82403; MMR6-NEXT:    jrc $ra2404;2405; MIPS32-LABEL: test_umax_16:2406; MIPS32:       # %bb.0: # %entry2407; MIPS32-NEXT:    addiu $sp, $sp, -82408; MIPS32-NEXT:    .cfi_def_cfa_offset 82409; MIPS32-NEXT:    # kill: def $at killed $a12410; MIPS32-NEXT:    sync2411; MIPS32-NEXT:    addiu $1, $zero, -42412; MIPS32-NEXT:    and $6, $4, $12413; MIPS32-NEXT:    andi $1, $4, 32414; MIPS32-NEXT:    sll $10, $1, 32415; MIPS32-NEXT:    ori $1, $zero, 655352416; MIPS32-NEXT:    sllv $8, $1, $102417; MIPS32-NEXT:    nor $9, $zero, $82418; MIPS32-NEXT:    sllv $7, $5, $102419; MIPS32-NEXT:  $BB6_1: # %entry2420; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=12421; MIPS32-NEXT:    ll $2, 0($6)2422; MIPS32-NEXT:    srav $4, $2, $102423; MIPS32-NEXT:    andi $4, $4, 655352424; MIPS32-NEXT:    or $1, $zero, $42425; MIPS32-NEXT:    sllv $4, $4, $102426; MIPS32-NEXT:    sltu $5, $4, $72427; MIPS32-NEXT:    move $3, $42428; MIPS32-NEXT:    movn $3, $7, $52429; MIPS32-NEXT:    and $3, $3, $82430; MIPS32-NEXT:    and $4, $2, $92431; MIPS32-NEXT:    or $4, $4, $32432; MIPS32-NEXT:    sc $4, 0($6)2433; MIPS32-NEXT:    beqz $4, $BB6_12434; MIPS32-NEXT:    nop2435; MIPS32-NEXT:  # %bb.2: # %entry2436; MIPS32-NEXT:    .insn2437; MIPS32-NEXT:  # %bb.3: # %entry2438; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2439; MIPS32-NEXT:  # %bb.4: # %entry2440; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2441; MIPS32-NEXT:    sync2442; MIPS32-NEXT:    addiu $sp, $sp, 82443; MIPS32-NEXT:    jr $ra2444; MIPS32-NEXT:    nop2445;2446; MIPSEL-LABEL: test_umax_16:2447; MIPSEL:       # %bb.0: # %entry2448; MIPSEL-NEXT:    addiu $sp, $sp, -82449; MIPSEL-NEXT:    .cfi_def_cfa_offset 82450; MIPSEL-NEXT:    # kill: def $at killed $a12451; MIPSEL-NEXT:    sync2452; MIPSEL-NEXT:    addiu $1, $zero, -42453; MIPSEL-NEXT:    and $6, $4, $12454; MIPSEL-NEXT:    andi $1, $4, 32455; MIPSEL-NEXT:    sll $10, $1, 32456; MIPSEL-NEXT:    ori $1, $zero, 655352457; MIPSEL-NEXT:    sllv $8, $1, $102458; MIPSEL-NEXT:    nor $9, $zero, $82459; MIPSEL-NEXT:    sllv $7, $5, $102460; MIPSEL-NEXT:  $BB6_1: # %entry2461; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=12462; MIPSEL-NEXT:    ll $2, 0($6)2463; MIPSEL-NEXT:    srav $4, $2, $102464; MIPSEL-NEXT:    andi $4, $4, 655352465; MIPSEL-NEXT:    or $1, $zero, $42466; MIPSEL-NEXT:    sllv $4, $4, $102467; MIPSEL-NEXT:    sltu $5, $4, $72468; MIPSEL-NEXT:    move $3, $42469; MIPSEL-NEXT:    movn $3, $7, $52470; MIPSEL-NEXT:    and $3, $3, $82471; MIPSEL-NEXT:    and $4, $2, $92472; MIPSEL-NEXT:    or $4, $4, $32473; MIPSEL-NEXT:    sc $4, 0($6)2474; MIPSEL-NEXT:    beqz $4, $BB6_12475; MIPSEL-NEXT:    nop2476; MIPSEL-NEXT:  # %bb.2: # %entry2477; MIPSEL-NEXT:    .insn2478; MIPSEL-NEXT:  # %bb.3: # %entry2479; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2480; MIPSEL-NEXT:  # %bb.4: # %entry2481; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2482; MIPSEL-NEXT:    sync2483; MIPSEL-NEXT:    addiu $sp, $sp, 82484; MIPSEL-NEXT:    jr $ra2485; MIPSEL-NEXT:    nop2486;2487; MIPSELR6-LABEL: test_umax_16:2488; MIPSELR6:       # %bb.0: # %entry2489; MIPSELR6-NEXT:    addiu $sp, $sp, -82490; MIPSELR6-NEXT:    .cfi_def_cfa_offset 82491; MIPSELR6-NEXT:    # kill: def $at killed $a12492; MIPSELR6-NEXT:    sync2493; MIPSELR6-NEXT:    addiu $1, $zero, -42494; MIPSELR6-NEXT:    and $6, $4, $12495; MIPSELR6-NEXT:    andi $1, $4, 32496; MIPSELR6-NEXT:    sll $10, $1, 32497; MIPSELR6-NEXT:    ori $1, $zero, 655352498; MIPSELR6-NEXT:    sllv $8, $1, $102499; MIPSELR6-NEXT:    nor $9, $zero, $82500; MIPSELR6-NEXT:    sllv $7, $5, $102501; MIPSELR6-NEXT:  $BB6_1: # %entry2502; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=12503; MIPSELR6-NEXT:    ll $2, 0($6)2504; MIPSELR6-NEXT:    srav $4, $2, $102505; MIPSELR6-NEXT:    andi $4, $4, 655352506; MIPSELR6-NEXT:    or $1, $zero, $42507; MIPSELR6-NEXT:    sllv $4, $4, $102508; MIPSELR6-NEXT:    sltu $5, $4, $72509; MIPSELR6-NEXT:    seleqz $3, $4, $52510; MIPSELR6-NEXT:    selnez $5, $7, $52511; MIPSELR6-NEXT:    or $3, $3, $52512; MIPSELR6-NEXT:    and $3, $3, $82513; MIPSELR6-NEXT:    and $4, $2, $92514; MIPSELR6-NEXT:    or $4, $4, $32515; MIPSELR6-NEXT:    sc $4, 0($6)2516; MIPSELR6-NEXT:    beqzc $4, $BB6_12517; MIPSELR6-NEXT:    nop2518; MIPSELR6-NEXT:  # %bb.2: # %entry2519; MIPSELR6-NEXT:    .insn2520; MIPSELR6-NEXT:  # %bb.3: # %entry2521; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2522; MIPSELR6-NEXT:  # %bb.4: # %entry2523; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2524; MIPSELR6-NEXT:    sync2525; MIPSELR6-NEXT:    addiu $sp, $sp, 82526; MIPSELR6-NEXT:    jrc $ra2527;2528; MMEL-LABEL: test_umax_16:2529; MMEL:       # %bb.0: # %entry2530; MMEL-NEXT:    addiu $sp, $sp, -82531; MMEL-NEXT:    .cfi_def_cfa_offset 82532; MMEL-NEXT:    # kill: def $at killed $a12533; MMEL-NEXT:    sync2534; MMEL-NEXT:    addiu $1, $zero, -42535; MMEL-NEXT:    and $6, $4, $12536; MMEL-NEXT:    andi $1, $4, 32537; MMEL-NEXT:    sll $10, $1, 32538; MMEL-NEXT:    ori $1, $zero, 655352539; MMEL-NEXT:    sllv $8, $1, $102540; MMEL-NEXT:    nor $9, $zero, $82541; MMEL-NEXT:    sllv $7, $5, $102542; MMEL-NEXT:  $BB6_1: # %entry2543; MMEL-NEXT:    # =>This Inner Loop Header: Depth=12544; MMEL-NEXT:    ll $2, 0($6)2545; MMEL-NEXT:    srav $4, $2, $102546; MMEL-NEXT:    andi $4, $4, 655352547; MMEL-NEXT:    or $1, $zero, $42548; MMEL-NEXT:    sllv $4, $4, $102549; MMEL-NEXT:    sltu $5, $4, $72550; MMEL-NEXT:    or $3, $4, $zero2551; MMEL-NEXT:    movn $3, $7, $52552; MMEL-NEXT:    and $3, $3, $82553; MMEL-NEXT:    and $4, $2, $92554; MMEL-NEXT:    or $4, $4, $32555; MMEL-NEXT:    sc $4, 0($6)2556; MMEL-NEXT:    beqzc $4, $BB6_12557; MMEL-NEXT:  # %bb.2: # %entry2558; MMEL-NEXT:    .insn2559; MMEL-NEXT:  # %bb.3: # %entry2560; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2561; MMEL-NEXT:  # %bb.4: # %entry2562; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2563; MMEL-NEXT:    sync2564; MMEL-NEXT:    addiusp 82565; MMEL-NEXT:    jrc $ra2566;2567; MMELR6-LABEL: test_umax_16:2568; MMELR6:       # %bb.0: # %entry2569; MMELR6-NEXT:    addiu $sp, $sp, -82570; MMELR6-NEXT:    .cfi_def_cfa_offset 82571; MMELR6-NEXT:    # kill: def $at killed $a12572; MMELR6-NEXT:    sync2573; MMELR6-NEXT:    addiu $1, $zero, -42574; MMELR6-NEXT:    and $6, $4, $12575; MMELR6-NEXT:    andi $1, $4, 32576; MMELR6-NEXT:    sll $10, $1, 32577; MMELR6-NEXT:    ori $1, $zero, 655352578; MMELR6-NEXT:    sllv $8, $1, $102579; MMELR6-NEXT:    nor $9, $zero, $82580; MMELR6-NEXT:    sllv $7, $5, $102581; MMELR6-NEXT:  $BB6_1: # %entry2582; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=12583; MMELR6-NEXT:    ll $2, 0($6)2584; MMELR6-NEXT:    srav $4, $2, $102585; MMELR6-NEXT:    andi $4, $4, 655352586; MMELR6-NEXT:    or $1, $zero, $42587; MMELR6-NEXT:    sllv $4, $4, $102588; MMELR6-NEXT:    sltu $5, $4, $72589; MMELR6-NEXT:    seleqz $3, $4, $52590; MMELR6-NEXT:    selnez $5, $7, $52591; MMELR6-NEXT:    or $3, $3, $52592; MMELR6-NEXT:    and $3, $3, $82593; MMELR6-NEXT:    and $4, $2, $92594; MMELR6-NEXT:    or $4, $4, $32595; MMELR6-NEXT:    sc $4, 0($6)2596; MMELR6-NEXT:    beqc $4, $zero, $BB6_12597; MMELR6-NEXT:  # %bb.2: # %entry2598; MMELR6-NEXT:    .insn2599; MMELR6-NEXT:  # %bb.3: # %entry2600; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2601; MMELR6-NEXT:  # %bb.4: # %entry2602; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2603; MMELR6-NEXT:    sync2604; MMELR6-NEXT:    addiu $sp, $sp, 82605; MMELR6-NEXT:    jrc $ra2606;2607; MIPS64-LABEL: test_umax_16:2608; MIPS64:       # %bb.0: # %entry2609; MIPS64-NEXT:    daddiu $sp, $sp, -162610; MIPS64-NEXT:    .cfi_def_cfa_offset 162611; MIPS64-NEXT:    move $1, $52612; MIPS64-NEXT:    sync2613; MIPS64-NEXT:    daddiu $2, $zero, -42614; MIPS64-NEXT:    and $6, $4, $22615; MIPS64-NEXT:    andi $2, $4, 32616; MIPS64-NEXT:    xori $2, $2, 22617; MIPS64-NEXT:    sll $10, $2, 32618; MIPS64-NEXT:    ori $2, $zero, 655352619; MIPS64-NEXT:    sllv $8, $2, $102620; MIPS64-NEXT:    nor $9, $zero, $82621; MIPS64-NEXT:    sllv $7, $1, $102622; MIPS64-NEXT:  .LBB6_1: # %entry2623; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=12624; MIPS64-NEXT:    ll $2, 0($6)2625; MIPS64-NEXT:    srav $4, $2, $102626; MIPS64-NEXT:    andi $4, $4, 655352627; MIPS64-NEXT:    or $1, $zero, $42628; MIPS64-NEXT:    sllv $4, $4, $102629; MIPS64-NEXT:    sltu $5, $4, $72630; MIPS64-NEXT:    move $3, $42631; MIPS64-NEXT:    movn $3, $7, $52632; MIPS64-NEXT:    and $3, $3, $82633; MIPS64-NEXT:    and $4, $2, $92634; MIPS64-NEXT:    or $4, $4, $32635; MIPS64-NEXT:    sc $4, 0($6)2636; MIPS64-NEXT:    beqz $4, .LBB6_12637; MIPS64-NEXT:    nop2638; MIPS64-NEXT:  # %bb.2: # %entry2639; MIPS64-NEXT:    .insn2640; MIPS64-NEXT:  # %bb.3: # %entry2641; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2642; MIPS64-NEXT:  # %bb.4: # %entry2643; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2644; MIPS64-NEXT:    sync2645; MIPS64-NEXT:    daddiu $sp, $sp, 162646; MIPS64-NEXT:    jr $ra2647; MIPS64-NEXT:    nop2648;2649; MIPS64R6-LABEL: test_umax_16:2650; MIPS64R6:       # %bb.0: # %entry2651; MIPS64R6-NEXT:    daddiu $sp, $sp, -162652; MIPS64R6-NEXT:    .cfi_def_cfa_offset 162653; MIPS64R6-NEXT:    move $1, $52654; MIPS64R6-NEXT:    sync2655; MIPS64R6-NEXT:    daddiu $2, $zero, -42656; MIPS64R6-NEXT:    and $6, $4, $22657; MIPS64R6-NEXT:    andi $2, $4, 32658; MIPS64R6-NEXT:    xori $2, $2, 22659; MIPS64R6-NEXT:    sll $10, $2, 32660; MIPS64R6-NEXT:    ori $2, $zero, 655352661; MIPS64R6-NEXT:    sllv $8, $2, $102662; MIPS64R6-NEXT:    nor $9, $zero, $82663; MIPS64R6-NEXT:    sllv $7, $1, $102664; MIPS64R6-NEXT:  .LBB6_1: # %entry2665; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=12666; MIPS64R6-NEXT:    ll $2, 0($6)2667; MIPS64R6-NEXT:    srav $4, $2, $102668; MIPS64R6-NEXT:    andi $4, $4, 655352669; MIPS64R6-NEXT:    or $1, $zero, $42670; MIPS64R6-NEXT:    sllv $4, $4, $102671; MIPS64R6-NEXT:    sltu $5, $4, $72672; MIPS64R6-NEXT:    seleqz $3, $4, $52673; MIPS64R6-NEXT:    selnez $5, $7, $52674; MIPS64R6-NEXT:    or $3, $3, $52675; MIPS64R6-NEXT:    and $3, $3, $82676; MIPS64R6-NEXT:    and $4, $2, $92677; MIPS64R6-NEXT:    or $4, $4, $32678; MIPS64R6-NEXT:    sc $4, 0($6)2679; MIPS64R6-NEXT:    beqzc $4, .LBB6_12680; MIPS64R6-NEXT:    nop2681; MIPS64R6-NEXT:  # %bb.2: # %entry2682; MIPS64R6-NEXT:    .insn2683; MIPS64R6-NEXT:  # %bb.3: # %entry2684; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2685; MIPS64R6-NEXT:  # %bb.4: # %entry2686; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2687; MIPS64R6-NEXT:    sync2688; MIPS64R6-NEXT:    daddiu $sp, $sp, 162689; MIPS64R6-NEXT:    jrc $ra2690;2691; MIPS64EL-LABEL: test_umax_16:2692; MIPS64EL:       # %bb.0: # %entry2693; MIPS64EL-NEXT:    daddiu $sp, $sp, -162694; MIPS64EL-NEXT:    .cfi_def_cfa_offset 162695; MIPS64EL-NEXT:    move $1, $52696; MIPS64EL-NEXT:    sync2697; MIPS64EL-NEXT:    daddiu $2, $zero, -42698; MIPS64EL-NEXT:    and $6, $4, $22699; MIPS64EL-NEXT:    andi $2, $4, 32700; MIPS64EL-NEXT:    sll $10, $2, 32701; MIPS64EL-NEXT:    ori $2, $zero, 655352702; MIPS64EL-NEXT:    sllv $8, $2, $102703; MIPS64EL-NEXT:    nor $9, $zero, $82704; MIPS64EL-NEXT:    sllv $7, $1, $102705; MIPS64EL-NEXT:  .LBB6_1: # %entry2706; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=12707; MIPS64EL-NEXT:    ll $2, 0($6)2708; MIPS64EL-NEXT:    srav $4, $2, $102709; MIPS64EL-NEXT:    andi $4, $4, 655352710; MIPS64EL-NEXT:    or $1, $zero, $42711; MIPS64EL-NEXT:    sllv $4, $4, $102712; MIPS64EL-NEXT:    sltu $5, $4, $72713; MIPS64EL-NEXT:    move $3, $42714; MIPS64EL-NEXT:    movn $3, $7, $52715; MIPS64EL-NEXT:    and $3, $3, $82716; MIPS64EL-NEXT:    and $4, $2, $92717; MIPS64EL-NEXT:    or $4, $4, $32718; MIPS64EL-NEXT:    sc $4, 0($6)2719; MIPS64EL-NEXT:    beqz $4, .LBB6_12720; MIPS64EL-NEXT:    nop2721; MIPS64EL-NEXT:  # %bb.2: # %entry2722; MIPS64EL-NEXT:    .insn2723; MIPS64EL-NEXT:  # %bb.3: # %entry2724; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2725; MIPS64EL-NEXT:  # %bb.4: # %entry2726; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2727; MIPS64EL-NEXT:    sync2728; MIPS64EL-NEXT:    daddiu $sp, $sp, 162729; MIPS64EL-NEXT:    jr $ra2730; MIPS64EL-NEXT:    nop2731;2732; MIPS64ELR6-LABEL: test_umax_16:2733; MIPS64ELR6:       # %bb.0: # %entry2734; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -162735; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 162736; MIPS64ELR6-NEXT:    move $1, $52737; MIPS64ELR6-NEXT:    sync2738; MIPS64ELR6-NEXT:    daddiu $2, $zero, -42739; MIPS64ELR6-NEXT:    and $6, $4, $22740; MIPS64ELR6-NEXT:    andi $2, $4, 32741; MIPS64ELR6-NEXT:    sll $10, $2, 32742; MIPS64ELR6-NEXT:    ori $2, $zero, 655352743; MIPS64ELR6-NEXT:    sllv $8, $2, $102744; MIPS64ELR6-NEXT:    nor $9, $zero, $82745; MIPS64ELR6-NEXT:    sllv $7, $1, $102746; MIPS64ELR6-NEXT:  .LBB6_1: # %entry2747; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=12748; MIPS64ELR6-NEXT:    ll $2, 0($6)2749; MIPS64ELR6-NEXT:    srav $4, $2, $102750; MIPS64ELR6-NEXT:    andi $4, $4, 655352751; MIPS64ELR6-NEXT:    or $1, $zero, $42752; MIPS64ELR6-NEXT:    sllv $4, $4, $102753; MIPS64ELR6-NEXT:    sltu $5, $4, $72754; MIPS64ELR6-NEXT:    seleqz $3, $4, $52755; MIPS64ELR6-NEXT:    selnez $5, $7, $52756; MIPS64ELR6-NEXT:    or $3, $3, $52757; MIPS64ELR6-NEXT:    and $3, $3, $82758; MIPS64ELR6-NEXT:    and $4, $2, $92759; MIPS64ELR6-NEXT:    or $4, $4, $32760; MIPS64ELR6-NEXT:    sc $4, 0($6)2761; MIPS64ELR6-NEXT:    beqzc $4, .LBB6_12762; MIPS64ELR6-NEXT:    nop2763; MIPS64ELR6-NEXT:  # %bb.2: # %entry2764; MIPS64ELR6-NEXT:    .insn2765; MIPS64ELR6-NEXT:  # %bb.3: # %entry2766; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill2767; MIPS64ELR6-NEXT:  # %bb.4: # %entry2768; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload2769; MIPS64ELR6-NEXT:    sync2770; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 162771; MIPS64ELR6-NEXT:    jrc $ra2772entry:2773  %0 = atomicrmw umax ptr %ptr, i16 %val seq_cst2774  ret i16 %02775}2776 2777define i16 @test_umin_16(ptr nocapture %ptr, i16 signext %val) {2778; MIPS-LABEL: test_umin_16:2779; MIPS:       # %bb.0: # %entry2780; MIPS-NEXT:    addiu $sp, $sp, -82781; MIPS-NEXT:    .cfi_def_cfa_offset 82782; MIPS-NEXT:    # kill: def $at killed $a12783; MIPS-NEXT:    sync2784; MIPS-NEXT:    addiu $1, $zero, -42785; MIPS-NEXT:    and $6, $4, $12786; MIPS-NEXT:    andi $1, $4, 32787; MIPS-NEXT:    xori $1, $1, 22788; MIPS-NEXT:    sll $10, $1, 32789; MIPS-NEXT:    ori $1, $zero, 655352790; MIPS-NEXT:    sllv $8, $1, $102791; MIPS-NEXT:    nor $9, $zero, $82792; MIPS-NEXT:    sllv $7, $5, $102793; MIPS-NEXT:  $BB7_1: # %entry2794; MIPS-NEXT:    # =>This Inner Loop Header: Depth=12795; MIPS-NEXT:    ll $2, 0($6)2796; MIPS-NEXT:    srav $4, $2, $102797; MIPS-NEXT:    andi $4, $4, 655352798; MIPS-NEXT:    or $1, $zero, $42799; MIPS-NEXT:    sllv $4, $4, $102800; MIPS-NEXT:    sltu $5, $4, $72801; MIPS-NEXT:    move $3, $42802; MIPS-NEXT:    movz $3, $7, $52803; MIPS-NEXT:    and $3, $3, $82804; MIPS-NEXT:    and $4, $2, $92805; MIPS-NEXT:    or $4, $4, $32806; MIPS-NEXT:    sc $4, 0($6)2807; MIPS-NEXT:    beqz $4, $BB7_12808; MIPS-NEXT:    nop2809; MIPS-NEXT:  # %bb.2: # %entry2810; MIPS-NEXT:    .insn2811; MIPS-NEXT:  # %bb.3: # %entry2812; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2813; MIPS-NEXT:  # %bb.4: # %entry2814; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2815; MIPS-NEXT:    sync2816; MIPS-NEXT:    addiu $sp, $sp, 82817; MIPS-NEXT:    jr $ra2818; MIPS-NEXT:    nop2819;2820; MIPS2-LABEL: test_umin_16:2821; MIPS2:       # %bb.0: # %entry2822; MIPS2-NEXT:    addiu $sp, $sp, -82823; MIPS2-NEXT:    .cfi_def_cfa_offset 82824; MIPS2-NEXT:    # kill: def $at killed $a12825; MIPS2-NEXT:    sync2826; MIPS2-NEXT:    addiu $1, $zero, -42827; MIPS2-NEXT:    and $6, $4, $12828; MIPS2-NEXT:    andi $1, $4, 32829; MIPS2-NEXT:    sll $10, $1, 32830; MIPS2-NEXT:    ori $1, $zero, 655352831; MIPS2-NEXT:    sllv $8, $1, $102832; MIPS2-NEXT:    nor $9, $zero, $82833; MIPS2-NEXT:    sllv $7, $5, $102834; MIPS2-NEXT:  $BB7_1: # %entry2835; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=12836; MIPS2-NEXT:    ll $2, 0($6)2837; MIPS2-NEXT:    srav $4, $2, $102838; MIPS2-NEXT:    andi $4, $4, 655352839; MIPS2-NEXT:    or $1, $zero, $42840; MIPS2-NEXT:    sllv $4, $4, $102841; MIPS2-NEXT:    sltu $5, $4, $72842; MIPS2-NEXT:    move $3, $42843; MIPS2-NEXT:    beqz $5, $BB7_32844; MIPS2-NEXT:    nop2845; MIPS2-NEXT:  # %bb.2: # %entry2846; MIPS2-NEXT:    #   in Loop: Header=BB7_1 Depth=12847; MIPS2-NEXT:    j $BB7_42848; MIPS2-NEXT:    nop2849; MIPS2-NEXT:  $BB7_3: # %entry2850; MIPS2-NEXT:    #   in Loop: Header=BB7_1 Depth=12851; MIPS2-NEXT:    move $3, $72852; MIPS2-NEXT:  $BB7_4: # %entry2853; MIPS2-NEXT:    #   in Loop: Header=BB7_1 Depth=12854; MIPS2-NEXT:    and $3, $3, $82855; MIPS2-NEXT:    and $4, $2, $92856; MIPS2-NEXT:    or $4, $4, $32857; MIPS2-NEXT:    sc $4, 0($6)2858; MIPS2-NEXT:    beqz $4, $BB7_12859; MIPS2-NEXT:    nop2860; MIPS2-NEXT:  # %bb.5: # %entry2861; MIPS2-NEXT:    .insn2862; MIPS2-NEXT:  # %bb.6: # %entry2863; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2864; MIPS2-NEXT:  # %bb.7: # %entry2865; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2866; MIPS2-NEXT:    sync2867; MIPS2-NEXT:    addiu $sp, $sp, 82868; MIPS2-NEXT:    jr $ra2869; MIPS2-NEXT:    nop2870;2871; MIPSR6-LABEL: test_umin_16:2872; MIPSR6:       # %bb.0: # %entry2873; MIPSR6-NEXT:    addiu $sp, $sp, -82874; MIPSR6-NEXT:    .cfi_def_cfa_offset 82875; MIPSR6-NEXT:    # kill: def $at killed $a12876; MIPSR6-NEXT:    sync2877; MIPSR6-NEXT:    addiu $1, $zero, -42878; MIPSR6-NEXT:    and $6, $4, $12879; MIPSR6-NEXT:    andi $1, $4, 32880; MIPSR6-NEXT:    xori $1, $1, 22881; MIPSR6-NEXT:    sll $10, $1, 32882; MIPSR6-NEXT:    ori $1, $zero, 655352883; MIPSR6-NEXT:    sllv $8, $1, $102884; MIPSR6-NEXT:    nor $9, $zero, $82885; MIPSR6-NEXT:    sllv $7, $5, $102886; MIPSR6-NEXT:  $BB7_1: # %entry2887; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=12888; MIPSR6-NEXT:    ll $2, 0($6)2889; MIPSR6-NEXT:    srav $4, $2, $102890; MIPSR6-NEXT:    andi $4, $4, 655352891; MIPSR6-NEXT:    or $1, $zero, $42892; MIPSR6-NEXT:    sllv $4, $4, $102893; MIPSR6-NEXT:    sltu $5, $4, $72894; MIPSR6-NEXT:    selnez $3, $4, $52895; MIPSR6-NEXT:    seleqz $5, $7, $52896; MIPSR6-NEXT:    or $3, $3, $52897; MIPSR6-NEXT:    and $3, $3, $82898; MIPSR6-NEXT:    and $4, $2, $92899; MIPSR6-NEXT:    or $4, $4, $32900; MIPSR6-NEXT:    sc $4, 0($6)2901; MIPSR6-NEXT:    beqzc $4, $BB7_12902; MIPSR6-NEXT:    nop2903; MIPSR6-NEXT:  # %bb.2: # %entry2904; MIPSR6-NEXT:    .insn2905; MIPSR6-NEXT:  # %bb.3: # %entry2906; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2907; MIPSR6-NEXT:  # %bb.4: # %entry2908; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2909; MIPSR6-NEXT:    sync2910; MIPSR6-NEXT:    addiu $sp, $sp, 82911; MIPSR6-NEXT:    jrc $ra2912;2913; MM-LABEL: test_umin_16:2914; MM:       # %bb.0: # %entry2915; MM-NEXT:    addiu $sp, $sp, -82916; MM-NEXT:    .cfi_def_cfa_offset 82917; MM-NEXT:    # kill: def $at killed $a12918; MM-NEXT:    sync2919; MM-NEXT:    addiu $1, $zero, -42920; MM-NEXT:    and $6, $4, $12921; MM-NEXT:    andi $1, $4, 32922; MM-NEXT:    xori $1, $1, 22923; MM-NEXT:    sll $10, $1, 32924; MM-NEXT:    ori $1, $zero, 655352925; MM-NEXT:    sllv $8, $1, $102926; MM-NEXT:    nor $9, $zero, $82927; MM-NEXT:    sllv $7, $5, $102928; MM-NEXT:  $BB7_1: # %entry2929; MM-NEXT:    # =>This Inner Loop Header: Depth=12930; MM-NEXT:    ll $2, 0($6)2931; MM-NEXT:    srav $4, $2, $102932; MM-NEXT:    andi $4, $4, 655352933; MM-NEXT:    or $1, $zero, $42934; MM-NEXT:    sllv $4, $4, $102935; MM-NEXT:    sltu $5, $4, $72936; MM-NEXT:    or $3, $4, $zero2937; MM-NEXT:    movz $3, $7, $52938; MM-NEXT:    and $3, $3, $82939; MM-NEXT:    and $4, $2, $92940; MM-NEXT:    or $4, $4, $32941; MM-NEXT:    sc $4, 0($6)2942; MM-NEXT:    beqzc $4, $BB7_12943; MM-NEXT:  # %bb.2: # %entry2944; MM-NEXT:    .insn2945; MM-NEXT:  # %bb.3: # %entry2946; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2947; MM-NEXT:  # %bb.4: # %entry2948; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2949; MM-NEXT:    sync2950; MM-NEXT:    addiusp 82951; MM-NEXT:    jrc $ra2952;2953; MMR6-LABEL: test_umin_16:2954; MMR6:       # %bb.0: # %entry2955; MMR6-NEXT:    addiu $sp, $sp, -82956; MMR6-NEXT:    .cfi_def_cfa_offset 82957; MMR6-NEXT:    # kill: def $at killed $a12958; MMR6-NEXT:    sync2959; MMR6-NEXT:    addiu $1, $zero, -42960; MMR6-NEXT:    and $6, $4, $12961; MMR6-NEXT:    andi $1, $4, 32962; MMR6-NEXT:    xori $1, $1, 22963; MMR6-NEXT:    sll $10, $1, 32964; MMR6-NEXT:    ori $1, $zero, 655352965; MMR6-NEXT:    sllv $8, $1, $102966; MMR6-NEXT:    nor $9, $zero, $82967; MMR6-NEXT:    sllv $7, $5, $102968; MMR6-NEXT:  $BB7_1: # %entry2969; MMR6-NEXT:    # =>This Inner Loop Header: Depth=12970; MMR6-NEXT:    ll $2, 0($6)2971; MMR6-NEXT:    srav $4, $2, $102972; MMR6-NEXT:    andi $4, $4, 655352973; MMR6-NEXT:    or $1, $zero, $42974; MMR6-NEXT:    sllv $4, $4, $102975; MMR6-NEXT:    sltu $5, $4, $72976; MMR6-NEXT:    selnez $3, $4, $52977; MMR6-NEXT:    seleqz $5, $7, $52978; MMR6-NEXT:    or $3, $3, $52979; MMR6-NEXT:    and $3, $3, $82980; MMR6-NEXT:    and $4, $2, $92981; MMR6-NEXT:    or $4, $4, $32982; MMR6-NEXT:    sc $4, 0($6)2983; MMR6-NEXT:    beqc $4, $zero, $BB7_12984; MMR6-NEXT:  # %bb.2: # %entry2985; MMR6-NEXT:    .insn2986; MMR6-NEXT:  # %bb.3: # %entry2987; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill2988; MMR6-NEXT:  # %bb.4: # %entry2989; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload2990; MMR6-NEXT:    sync2991; MMR6-NEXT:    addiu $sp, $sp, 82992; MMR6-NEXT:    jrc $ra2993;2994; MIPS32-LABEL: test_umin_16:2995; MIPS32:       # %bb.0: # %entry2996; MIPS32-NEXT:    addiu $sp, $sp, -82997; MIPS32-NEXT:    .cfi_def_cfa_offset 82998; MIPS32-NEXT:    # kill: def $at killed $a12999; MIPS32-NEXT:    sync3000; MIPS32-NEXT:    addiu $1, $zero, -43001; MIPS32-NEXT:    and $6, $4, $13002; MIPS32-NEXT:    andi $1, $4, 33003; MIPS32-NEXT:    sll $10, $1, 33004; MIPS32-NEXT:    ori $1, $zero, 655353005; MIPS32-NEXT:    sllv $8, $1, $103006; MIPS32-NEXT:    nor $9, $zero, $83007; MIPS32-NEXT:    sllv $7, $5, $103008; MIPS32-NEXT:  $BB7_1: # %entry3009; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=13010; MIPS32-NEXT:    ll $2, 0($6)3011; MIPS32-NEXT:    srav $4, $2, $103012; MIPS32-NEXT:    andi $4, $4, 655353013; MIPS32-NEXT:    or $1, $zero, $43014; MIPS32-NEXT:    sllv $4, $4, $103015; MIPS32-NEXT:    sltu $5, $4, $73016; MIPS32-NEXT:    move $3, $43017; MIPS32-NEXT:    movz $3, $7, $53018; MIPS32-NEXT:    and $3, $3, $83019; MIPS32-NEXT:    and $4, $2, $93020; MIPS32-NEXT:    or $4, $4, $33021; MIPS32-NEXT:    sc $4, 0($6)3022; MIPS32-NEXT:    beqz $4, $BB7_13023; MIPS32-NEXT:    nop3024; MIPS32-NEXT:  # %bb.2: # %entry3025; MIPS32-NEXT:    .insn3026; MIPS32-NEXT:  # %bb.3: # %entry3027; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3028; MIPS32-NEXT:  # %bb.4: # %entry3029; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3030; MIPS32-NEXT:    sync3031; MIPS32-NEXT:    addiu $sp, $sp, 83032; MIPS32-NEXT:    jr $ra3033; MIPS32-NEXT:    nop3034;3035; MIPSEL-LABEL: test_umin_16:3036; MIPSEL:       # %bb.0: # %entry3037; MIPSEL-NEXT:    addiu $sp, $sp, -83038; MIPSEL-NEXT:    .cfi_def_cfa_offset 83039; MIPSEL-NEXT:    # kill: def $at killed $a13040; MIPSEL-NEXT:    sync3041; MIPSEL-NEXT:    addiu $1, $zero, -43042; MIPSEL-NEXT:    and $6, $4, $13043; MIPSEL-NEXT:    andi $1, $4, 33044; MIPSEL-NEXT:    sll $10, $1, 33045; MIPSEL-NEXT:    ori $1, $zero, 655353046; MIPSEL-NEXT:    sllv $8, $1, $103047; MIPSEL-NEXT:    nor $9, $zero, $83048; MIPSEL-NEXT:    sllv $7, $5, $103049; MIPSEL-NEXT:  $BB7_1: # %entry3050; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=13051; MIPSEL-NEXT:    ll $2, 0($6)3052; MIPSEL-NEXT:    srav $4, $2, $103053; MIPSEL-NEXT:    andi $4, $4, 655353054; MIPSEL-NEXT:    or $1, $zero, $43055; MIPSEL-NEXT:    sllv $4, $4, $103056; MIPSEL-NEXT:    sltu $5, $4, $73057; MIPSEL-NEXT:    move $3, $43058; MIPSEL-NEXT:    movz $3, $7, $53059; MIPSEL-NEXT:    and $3, $3, $83060; MIPSEL-NEXT:    and $4, $2, $93061; MIPSEL-NEXT:    or $4, $4, $33062; MIPSEL-NEXT:    sc $4, 0($6)3063; MIPSEL-NEXT:    beqz $4, $BB7_13064; MIPSEL-NEXT:    nop3065; MIPSEL-NEXT:  # %bb.2: # %entry3066; MIPSEL-NEXT:    .insn3067; MIPSEL-NEXT:  # %bb.3: # %entry3068; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3069; MIPSEL-NEXT:  # %bb.4: # %entry3070; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3071; MIPSEL-NEXT:    sync3072; MIPSEL-NEXT:    addiu $sp, $sp, 83073; MIPSEL-NEXT:    jr $ra3074; MIPSEL-NEXT:    nop3075;3076; MIPSELR6-LABEL: test_umin_16:3077; MIPSELR6:       # %bb.0: # %entry3078; MIPSELR6-NEXT:    addiu $sp, $sp, -83079; MIPSELR6-NEXT:    .cfi_def_cfa_offset 83080; MIPSELR6-NEXT:    # kill: def $at killed $a13081; MIPSELR6-NEXT:    sync3082; MIPSELR6-NEXT:    addiu $1, $zero, -43083; MIPSELR6-NEXT:    and $6, $4, $13084; MIPSELR6-NEXT:    andi $1, $4, 33085; MIPSELR6-NEXT:    sll $10, $1, 33086; MIPSELR6-NEXT:    ori $1, $zero, 655353087; MIPSELR6-NEXT:    sllv $8, $1, $103088; MIPSELR6-NEXT:    nor $9, $zero, $83089; MIPSELR6-NEXT:    sllv $7, $5, $103090; MIPSELR6-NEXT:  $BB7_1: # %entry3091; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=13092; MIPSELR6-NEXT:    ll $2, 0($6)3093; MIPSELR6-NEXT:    srav $4, $2, $103094; MIPSELR6-NEXT:    andi $4, $4, 655353095; MIPSELR6-NEXT:    or $1, $zero, $43096; MIPSELR6-NEXT:    sllv $4, $4, $103097; MIPSELR6-NEXT:    sltu $5, $4, $73098; MIPSELR6-NEXT:    selnez $3, $4, $53099; MIPSELR6-NEXT:    seleqz $5, $7, $53100; MIPSELR6-NEXT:    or $3, $3, $53101; MIPSELR6-NEXT:    and $3, $3, $83102; MIPSELR6-NEXT:    and $4, $2, $93103; MIPSELR6-NEXT:    or $4, $4, $33104; MIPSELR6-NEXT:    sc $4, 0($6)3105; MIPSELR6-NEXT:    beqzc $4, $BB7_13106; MIPSELR6-NEXT:    nop3107; MIPSELR6-NEXT:  # %bb.2: # %entry3108; MIPSELR6-NEXT:    .insn3109; MIPSELR6-NEXT:  # %bb.3: # %entry3110; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3111; MIPSELR6-NEXT:  # %bb.4: # %entry3112; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3113; MIPSELR6-NEXT:    sync3114; MIPSELR6-NEXT:    addiu $sp, $sp, 83115; MIPSELR6-NEXT:    jrc $ra3116;3117; MMEL-LABEL: test_umin_16:3118; MMEL:       # %bb.0: # %entry3119; MMEL-NEXT:    addiu $sp, $sp, -83120; MMEL-NEXT:    .cfi_def_cfa_offset 83121; MMEL-NEXT:    # kill: def $at killed $a13122; MMEL-NEXT:    sync3123; MMEL-NEXT:    addiu $1, $zero, -43124; MMEL-NEXT:    and $6, $4, $13125; MMEL-NEXT:    andi $1, $4, 33126; MMEL-NEXT:    sll $10, $1, 33127; MMEL-NEXT:    ori $1, $zero, 655353128; MMEL-NEXT:    sllv $8, $1, $103129; MMEL-NEXT:    nor $9, $zero, $83130; MMEL-NEXT:    sllv $7, $5, $103131; MMEL-NEXT:  $BB7_1: # %entry3132; MMEL-NEXT:    # =>This Inner Loop Header: Depth=13133; MMEL-NEXT:    ll $2, 0($6)3134; MMEL-NEXT:    srav $4, $2, $103135; MMEL-NEXT:    andi $4, $4, 655353136; MMEL-NEXT:    or $1, $zero, $43137; MMEL-NEXT:    sllv $4, $4, $103138; MMEL-NEXT:    sltu $5, $4, $73139; MMEL-NEXT:    or $3, $4, $zero3140; MMEL-NEXT:    movz $3, $7, $53141; MMEL-NEXT:    and $3, $3, $83142; MMEL-NEXT:    and $4, $2, $93143; MMEL-NEXT:    or $4, $4, $33144; MMEL-NEXT:    sc $4, 0($6)3145; MMEL-NEXT:    beqzc $4, $BB7_13146; MMEL-NEXT:  # %bb.2: # %entry3147; MMEL-NEXT:    .insn3148; MMEL-NEXT:  # %bb.3: # %entry3149; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3150; MMEL-NEXT:  # %bb.4: # %entry3151; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3152; MMEL-NEXT:    sync3153; MMEL-NEXT:    addiusp 83154; MMEL-NEXT:    jrc $ra3155;3156; MMELR6-LABEL: test_umin_16:3157; MMELR6:       # %bb.0: # %entry3158; MMELR6-NEXT:    addiu $sp, $sp, -83159; MMELR6-NEXT:    .cfi_def_cfa_offset 83160; MMELR6-NEXT:    # kill: def $at killed $a13161; MMELR6-NEXT:    sync3162; MMELR6-NEXT:    addiu $1, $zero, -43163; MMELR6-NEXT:    and $6, $4, $13164; MMELR6-NEXT:    andi $1, $4, 33165; MMELR6-NEXT:    sll $10, $1, 33166; MMELR6-NEXT:    ori $1, $zero, 655353167; MMELR6-NEXT:    sllv $8, $1, $103168; MMELR6-NEXT:    nor $9, $zero, $83169; MMELR6-NEXT:    sllv $7, $5, $103170; MMELR6-NEXT:  $BB7_1: # %entry3171; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=13172; MMELR6-NEXT:    ll $2, 0($6)3173; MMELR6-NEXT:    srav $4, $2, $103174; MMELR6-NEXT:    andi $4, $4, 655353175; MMELR6-NEXT:    or $1, $zero, $43176; MMELR6-NEXT:    sllv $4, $4, $103177; MMELR6-NEXT:    sltu $5, $4, $73178; MMELR6-NEXT:    selnez $3, $4, $53179; MMELR6-NEXT:    seleqz $5, $7, $53180; MMELR6-NEXT:    or $3, $3, $53181; MMELR6-NEXT:    and $3, $3, $83182; MMELR6-NEXT:    and $4, $2, $93183; MMELR6-NEXT:    or $4, $4, $33184; MMELR6-NEXT:    sc $4, 0($6)3185; MMELR6-NEXT:    beqc $4, $zero, $BB7_13186; MMELR6-NEXT:  # %bb.2: # %entry3187; MMELR6-NEXT:    .insn3188; MMELR6-NEXT:  # %bb.3: # %entry3189; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3190; MMELR6-NEXT:  # %bb.4: # %entry3191; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3192; MMELR6-NEXT:    sync3193; MMELR6-NEXT:    addiu $sp, $sp, 83194; MMELR6-NEXT:    jrc $ra3195;3196; MIPS64-LABEL: test_umin_16:3197; MIPS64:       # %bb.0: # %entry3198; MIPS64-NEXT:    daddiu $sp, $sp, -163199; MIPS64-NEXT:    .cfi_def_cfa_offset 163200; MIPS64-NEXT:    move $1, $53201; MIPS64-NEXT:    sync3202; MIPS64-NEXT:    daddiu $2, $zero, -43203; MIPS64-NEXT:    and $6, $4, $23204; MIPS64-NEXT:    andi $2, $4, 33205; MIPS64-NEXT:    xori $2, $2, 23206; MIPS64-NEXT:    sll $10, $2, 33207; MIPS64-NEXT:    ori $2, $zero, 655353208; MIPS64-NEXT:    sllv $8, $2, $103209; MIPS64-NEXT:    nor $9, $zero, $83210; MIPS64-NEXT:    sllv $7, $1, $103211; MIPS64-NEXT:  .LBB7_1: # %entry3212; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=13213; MIPS64-NEXT:    ll $2, 0($6)3214; MIPS64-NEXT:    srav $4, $2, $103215; MIPS64-NEXT:    andi $4, $4, 655353216; MIPS64-NEXT:    or $1, $zero, $43217; MIPS64-NEXT:    sllv $4, $4, $103218; MIPS64-NEXT:    sltu $5, $4, $73219; MIPS64-NEXT:    move $3, $43220; MIPS64-NEXT:    movz $3, $7, $53221; MIPS64-NEXT:    and $3, $3, $83222; MIPS64-NEXT:    and $4, $2, $93223; MIPS64-NEXT:    or $4, $4, $33224; MIPS64-NEXT:    sc $4, 0($6)3225; MIPS64-NEXT:    beqz $4, .LBB7_13226; MIPS64-NEXT:    nop3227; MIPS64-NEXT:  # %bb.2: # %entry3228; MIPS64-NEXT:    .insn3229; MIPS64-NEXT:  # %bb.3: # %entry3230; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3231; MIPS64-NEXT:  # %bb.4: # %entry3232; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3233; MIPS64-NEXT:    sync3234; MIPS64-NEXT:    daddiu $sp, $sp, 163235; MIPS64-NEXT:    jr $ra3236; MIPS64-NEXT:    nop3237;3238; MIPS64R6-LABEL: test_umin_16:3239; MIPS64R6:       # %bb.0: # %entry3240; MIPS64R6-NEXT:    daddiu $sp, $sp, -163241; MIPS64R6-NEXT:    .cfi_def_cfa_offset 163242; MIPS64R6-NEXT:    move $1, $53243; MIPS64R6-NEXT:    sync3244; MIPS64R6-NEXT:    daddiu $2, $zero, -43245; MIPS64R6-NEXT:    and $6, $4, $23246; MIPS64R6-NEXT:    andi $2, $4, 33247; MIPS64R6-NEXT:    xori $2, $2, 23248; MIPS64R6-NEXT:    sll $10, $2, 33249; MIPS64R6-NEXT:    ori $2, $zero, 655353250; MIPS64R6-NEXT:    sllv $8, $2, $103251; MIPS64R6-NEXT:    nor $9, $zero, $83252; MIPS64R6-NEXT:    sllv $7, $1, $103253; MIPS64R6-NEXT:  .LBB7_1: # %entry3254; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=13255; MIPS64R6-NEXT:    ll $2, 0($6)3256; MIPS64R6-NEXT:    srav $4, $2, $103257; MIPS64R6-NEXT:    andi $4, $4, 655353258; MIPS64R6-NEXT:    or $1, $zero, $43259; MIPS64R6-NEXT:    sllv $4, $4, $103260; MIPS64R6-NEXT:    sltu $5, $4, $73261; MIPS64R6-NEXT:    selnez $3, $4, $53262; MIPS64R6-NEXT:    seleqz $5, $7, $53263; MIPS64R6-NEXT:    or $3, $3, $53264; MIPS64R6-NEXT:    and $3, $3, $83265; MIPS64R6-NEXT:    and $4, $2, $93266; MIPS64R6-NEXT:    or $4, $4, $33267; MIPS64R6-NEXT:    sc $4, 0($6)3268; MIPS64R6-NEXT:    beqzc $4, .LBB7_13269; MIPS64R6-NEXT:    nop3270; MIPS64R6-NEXT:  # %bb.2: # %entry3271; MIPS64R6-NEXT:    .insn3272; MIPS64R6-NEXT:  # %bb.3: # %entry3273; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3274; MIPS64R6-NEXT:  # %bb.4: # %entry3275; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3276; MIPS64R6-NEXT:    sync3277; MIPS64R6-NEXT:    daddiu $sp, $sp, 163278; MIPS64R6-NEXT:    jrc $ra3279;3280; MIPS64EL-LABEL: test_umin_16:3281; MIPS64EL:       # %bb.0: # %entry3282; MIPS64EL-NEXT:    daddiu $sp, $sp, -163283; MIPS64EL-NEXT:    .cfi_def_cfa_offset 163284; MIPS64EL-NEXT:    move $1, $53285; MIPS64EL-NEXT:    sync3286; MIPS64EL-NEXT:    daddiu $2, $zero, -43287; MIPS64EL-NEXT:    and $6, $4, $23288; MIPS64EL-NEXT:    andi $2, $4, 33289; MIPS64EL-NEXT:    sll $10, $2, 33290; MIPS64EL-NEXT:    ori $2, $zero, 655353291; MIPS64EL-NEXT:    sllv $8, $2, $103292; MIPS64EL-NEXT:    nor $9, $zero, $83293; MIPS64EL-NEXT:    sllv $7, $1, $103294; MIPS64EL-NEXT:  .LBB7_1: # %entry3295; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=13296; MIPS64EL-NEXT:    ll $2, 0($6)3297; MIPS64EL-NEXT:    srav $4, $2, $103298; MIPS64EL-NEXT:    andi $4, $4, 655353299; MIPS64EL-NEXT:    or $1, $zero, $43300; MIPS64EL-NEXT:    sllv $4, $4, $103301; MIPS64EL-NEXT:    sltu $5, $4, $73302; MIPS64EL-NEXT:    move $3, $43303; MIPS64EL-NEXT:    movz $3, $7, $53304; MIPS64EL-NEXT:    and $3, $3, $83305; MIPS64EL-NEXT:    and $4, $2, $93306; MIPS64EL-NEXT:    or $4, $4, $33307; MIPS64EL-NEXT:    sc $4, 0($6)3308; MIPS64EL-NEXT:    beqz $4, .LBB7_13309; MIPS64EL-NEXT:    nop3310; MIPS64EL-NEXT:  # %bb.2: # %entry3311; MIPS64EL-NEXT:    .insn3312; MIPS64EL-NEXT:  # %bb.3: # %entry3313; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3314; MIPS64EL-NEXT:  # %bb.4: # %entry3315; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3316; MIPS64EL-NEXT:    sync3317; MIPS64EL-NEXT:    daddiu $sp, $sp, 163318; MIPS64EL-NEXT:    jr $ra3319; MIPS64EL-NEXT:    nop3320;3321; MIPS64ELR6-LABEL: test_umin_16:3322; MIPS64ELR6:       # %bb.0: # %entry3323; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -163324; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 163325; MIPS64ELR6-NEXT:    move $1, $53326; MIPS64ELR6-NEXT:    sync3327; MIPS64ELR6-NEXT:    daddiu $2, $zero, -43328; MIPS64ELR6-NEXT:    and $6, $4, $23329; MIPS64ELR6-NEXT:    andi $2, $4, 33330; MIPS64ELR6-NEXT:    sll $10, $2, 33331; MIPS64ELR6-NEXT:    ori $2, $zero, 655353332; MIPS64ELR6-NEXT:    sllv $8, $2, $103333; MIPS64ELR6-NEXT:    nor $9, $zero, $83334; MIPS64ELR6-NEXT:    sllv $7, $1, $103335; MIPS64ELR6-NEXT:  .LBB7_1: # %entry3336; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=13337; MIPS64ELR6-NEXT:    ll $2, 0($6)3338; MIPS64ELR6-NEXT:    srav $4, $2, $103339; MIPS64ELR6-NEXT:    andi $4, $4, 655353340; MIPS64ELR6-NEXT:    or $1, $zero, $43341; MIPS64ELR6-NEXT:    sllv $4, $4, $103342; MIPS64ELR6-NEXT:    sltu $5, $4, $73343; MIPS64ELR6-NEXT:    selnez $3, $4, $53344; MIPS64ELR6-NEXT:    seleqz $5, $7, $53345; MIPS64ELR6-NEXT:    or $3, $3, $53346; MIPS64ELR6-NEXT:    and $3, $3, $83347; MIPS64ELR6-NEXT:    and $4, $2, $93348; MIPS64ELR6-NEXT:    or $4, $4, $33349; MIPS64ELR6-NEXT:    sc $4, 0($6)3350; MIPS64ELR6-NEXT:    beqzc $4, .LBB7_13351; MIPS64ELR6-NEXT:    nop3352; MIPS64ELR6-NEXT:  # %bb.2: # %entry3353; MIPS64ELR6-NEXT:    .insn3354; MIPS64ELR6-NEXT:  # %bb.3: # %entry3355; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3356; MIPS64ELR6-NEXT:  # %bb.4: # %entry3357; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3358; MIPS64ELR6-NEXT:    sync3359; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 163360; MIPS64ELR6-NEXT:    jrc $ra3361entry:3362  %0 = atomicrmw umin ptr %ptr, i16 %val seq_cst3363  ret i16 %03364}3365 3366 3367define i8 @test_max_8(ptr nocapture %ptr, i8 signext %val) {3368; MIPS-LABEL: test_max_8:3369; MIPS:       # %bb.0: # %entry3370; MIPS-NEXT:    addiu $sp, $sp, -83371; MIPS-NEXT:    .cfi_def_cfa_offset 83372; MIPS-NEXT:    # kill: def $at killed $a13373; MIPS-NEXT:    sync3374; MIPS-NEXT:    addiu $1, $zero, -43375; MIPS-NEXT:    and $6, $4, $13376; MIPS-NEXT:    andi $1, $4, 33377; MIPS-NEXT:    xori $1, $1, 33378; MIPS-NEXT:    sll $10, $1, 33379; MIPS-NEXT:    ori $1, $zero, 2553380; MIPS-NEXT:    sllv $8, $1, $103381; MIPS-NEXT:    nor $9, $zero, $83382; MIPS-NEXT:    sllv $7, $5, $103383; MIPS-NEXT:  $BB8_1: # %entry3384; MIPS-NEXT:    # =>This Inner Loop Header: Depth=13385; MIPS-NEXT:    ll $2, 0($6)3386; MIPS-NEXT:    srav $4, $2, $103387; MIPS-NEXT:    seb $4, $43388; MIPS-NEXT:    or $1, $zero, $43389; MIPS-NEXT:    sllv $4, $4, $103390; MIPS-NEXT:    slt $5, $4, $73391; MIPS-NEXT:    move $3, $43392; MIPS-NEXT:    movn $3, $7, $53393; MIPS-NEXT:    and $3, $3, $83394; MIPS-NEXT:    and $4, $2, $93395; MIPS-NEXT:    or $4, $4, $33396; MIPS-NEXT:    sc $4, 0($6)3397; MIPS-NEXT:    beqz $4, $BB8_13398; MIPS-NEXT:    nop3399; MIPS-NEXT:  # %bb.2: # %entry3400; MIPS-NEXT:    .insn3401; MIPS-NEXT:  # %bb.3: # %entry3402; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3403; MIPS-NEXT:  # %bb.4: # %entry3404; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3405; MIPS-NEXT:    sync3406; MIPS-NEXT:    addiu $sp, $sp, 83407; MIPS-NEXT:    jr $ra3408; MIPS-NEXT:    nop3409;3410; MIPS2-LABEL: test_max_8:3411; MIPS2:       # %bb.0: # %entry3412; MIPS2-NEXT:    addiu $sp, $sp, -83413; MIPS2-NEXT:    .cfi_def_cfa_offset 83414; MIPS2-NEXT:    # kill: def $at killed $a13415; MIPS2-NEXT:    sync3416; MIPS2-NEXT:    addiu $1, $zero, -43417; MIPS2-NEXT:    and $6, $4, $13418; MIPS2-NEXT:    andi $1, $4, 33419; MIPS2-NEXT:    sll $10, $1, 33420; MIPS2-NEXT:    ori $1, $zero, 2553421; MIPS2-NEXT:    sllv $8, $1, $103422; MIPS2-NEXT:    nor $9, $zero, $83423; MIPS2-NEXT:    sllv $7, $5, $103424; MIPS2-NEXT:  $BB8_1: # %entry3425; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=13426; MIPS2-NEXT:    ll $2, 0($6)3427; MIPS2-NEXT:    srav $4, $2, $103428; MIPS2-NEXT:    sll $4, $4, 243429; MIPS2-NEXT:    sra $4, $4, 243430; MIPS2-NEXT:    or $1, $zero, $43431; MIPS2-NEXT:    sllv $4, $4, $103432; MIPS2-NEXT:    slt $5, $4, $73433; MIPS2-NEXT:    move $3, $73434; MIPS2-NEXT:    beqz $5, $BB8_33435; MIPS2-NEXT:    nop3436; MIPS2-NEXT:  # %bb.2: # %entry3437; MIPS2-NEXT:    #   in Loop: Header=BB8_1 Depth=13438; MIPS2-NEXT:    j $BB8_43439; MIPS2-NEXT:    nop3440; MIPS2-NEXT:  $BB8_3: # %entry3441; MIPS2-NEXT:    #   in Loop: Header=BB8_1 Depth=13442; MIPS2-NEXT:    move $3, $43443; MIPS2-NEXT:  $BB8_4: # %entry3444; MIPS2-NEXT:    #   in Loop: Header=BB8_1 Depth=13445; MIPS2-NEXT:    and $3, $3, $83446; MIPS2-NEXT:    and $4, $2, $93447; MIPS2-NEXT:    or $4, $4, $33448; MIPS2-NEXT:    sc $4, 0($6)3449; MIPS2-NEXT:    beqz $4, $BB8_13450; MIPS2-NEXT:    nop3451; MIPS2-NEXT:  # %bb.5: # %entry3452; MIPS2-NEXT:    .insn3453; MIPS2-NEXT:  # %bb.6: # %entry3454; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3455; MIPS2-NEXT:  # %bb.7: # %entry3456; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3457; MIPS2-NEXT:    sync3458; MIPS2-NEXT:    addiu $sp, $sp, 83459; MIPS2-NEXT:    jr $ra3460; MIPS2-NEXT:    nop3461;3462; MIPSR6-LABEL: test_max_8:3463; MIPSR6:       # %bb.0: # %entry3464; MIPSR6-NEXT:    addiu $sp, $sp, -83465; MIPSR6-NEXT:    .cfi_def_cfa_offset 83466; MIPSR6-NEXT:    # kill: def $at killed $a13467; MIPSR6-NEXT:    sync3468; MIPSR6-NEXT:    addiu $1, $zero, -43469; MIPSR6-NEXT:    and $6, $4, $13470; MIPSR6-NEXT:    andi $1, $4, 33471; MIPSR6-NEXT:    xori $1, $1, 33472; MIPSR6-NEXT:    sll $10, $1, 33473; MIPSR6-NEXT:    ori $1, $zero, 2553474; MIPSR6-NEXT:    sllv $8, $1, $103475; MIPSR6-NEXT:    nor $9, $zero, $83476; MIPSR6-NEXT:    sllv $7, $5, $103477; MIPSR6-NEXT:  $BB8_1: # %entry3478; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=13479; MIPSR6-NEXT:    ll $2, 0($6)3480; MIPSR6-NEXT:    srav $4, $2, $103481; MIPSR6-NEXT:    seb $4, $43482; MIPSR6-NEXT:    or $1, $zero, $43483; MIPSR6-NEXT:    sllv $4, $4, $103484; MIPSR6-NEXT:    slt $5, $4, $73485; MIPSR6-NEXT:    seleqz $3, $4, $53486; MIPSR6-NEXT:    selnez $5, $7, $53487; MIPSR6-NEXT:    or $3, $3, $53488; MIPSR6-NEXT:    and $3, $3, $83489; MIPSR6-NEXT:    and $4, $2, $93490; MIPSR6-NEXT:    or $4, $4, $33491; MIPSR6-NEXT:    sc $4, 0($6)3492; MIPSR6-NEXT:    beqzc $4, $BB8_13493; MIPSR6-NEXT:    nop3494; MIPSR6-NEXT:  # %bb.2: # %entry3495; MIPSR6-NEXT:    .insn3496; MIPSR6-NEXT:  # %bb.3: # %entry3497; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3498; MIPSR6-NEXT:  # %bb.4: # %entry3499; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3500; MIPSR6-NEXT:    sync3501; MIPSR6-NEXT:    addiu $sp, $sp, 83502; MIPSR6-NEXT:    jrc $ra3503;3504; MM-LABEL: test_max_8:3505; MM:       # %bb.0: # %entry3506; MM-NEXT:    addiu $sp, $sp, -83507; MM-NEXT:    .cfi_def_cfa_offset 83508; MM-NEXT:    # kill: def $at killed $a13509; MM-NEXT:    sync3510; MM-NEXT:    addiu $1, $zero, -43511; MM-NEXT:    and $6, $4, $13512; MM-NEXT:    andi $1, $4, 33513; MM-NEXT:    xori $1, $1, 33514; MM-NEXT:    sll $10, $1, 33515; MM-NEXT:    ori $1, $zero, 2553516; MM-NEXT:    sllv $8, $1, $103517; MM-NEXT:    nor $9, $zero, $83518; MM-NEXT:    sllv $7, $5, $103519; MM-NEXT:  $BB8_1: # %entry3520; MM-NEXT:    # =>This Inner Loop Header: Depth=13521; MM-NEXT:    ll $2, 0($6)3522; MM-NEXT:    srav $4, $2, $103523; MM-NEXT:    seb $4, $43524; MM-NEXT:    or $1, $zero, $43525; MM-NEXT:    sllv $4, $4, $103526; MM-NEXT:    slt $5, $4, $73527; MM-NEXT:    or $3, $4, $zero3528; MM-NEXT:    movn $3, $7, $53529; MM-NEXT:    and $3, $3, $83530; MM-NEXT:    and $4, $2, $93531; MM-NEXT:    or $4, $4, $33532; MM-NEXT:    sc $4, 0($6)3533; MM-NEXT:    beqzc $4, $BB8_13534; MM-NEXT:  # %bb.2: # %entry3535; MM-NEXT:    .insn3536; MM-NEXT:  # %bb.3: # %entry3537; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3538; MM-NEXT:  # %bb.4: # %entry3539; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3540; MM-NEXT:    sync3541; MM-NEXT:    addiusp 83542; MM-NEXT:    jrc $ra3543;3544; MMR6-LABEL: test_max_8:3545; MMR6:       # %bb.0: # %entry3546; MMR6-NEXT:    addiu $sp, $sp, -83547; MMR6-NEXT:    .cfi_def_cfa_offset 83548; MMR6-NEXT:    # kill: def $at killed $a13549; MMR6-NEXT:    sync3550; MMR6-NEXT:    addiu $1, $zero, -43551; MMR6-NEXT:    and $6, $4, $13552; MMR6-NEXT:    andi $1, $4, 33553; MMR6-NEXT:    xori $1, $1, 33554; MMR6-NEXT:    sll $10, $1, 33555; MMR6-NEXT:    ori $1, $zero, 2553556; MMR6-NEXT:    sllv $8, $1, $103557; MMR6-NEXT:    nor $9, $zero, $83558; MMR6-NEXT:    sllv $7, $5, $103559; MMR6-NEXT:  $BB8_1: # %entry3560; MMR6-NEXT:    # =>This Inner Loop Header: Depth=13561; MMR6-NEXT:    ll $2, 0($6)3562; MMR6-NEXT:    srav $4, $2, $103563; MMR6-NEXT:    seb $4, $43564; MMR6-NEXT:    or $1, $zero, $43565; MMR6-NEXT:    sllv $4, $4, $103566; MMR6-NEXT:    slt $5, $4, $73567; MMR6-NEXT:    seleqz $3, $4, $53568; MMR6-NEXT:    selnez $5, $7, $53569; MMR6-NEXT:    or $3, $3, $53570; MMR6-NEXT:    and $3, $3, $83571; MMR6-NEXT:    and $4, $2, $93572; MMR6-NEXT:    or $4, $4, $33573; MMR6-NEXT:    sc $4, 0($6)3574; MMR6-NEXT:    beqc $4, $zero, $BB8_13575; MMR6-NEXT:  # %bb.2: # %entry3576; MMR6-NEXT:    .insn3577; MMR6-NEXT:  # %bb.3: # %entry3578; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3579; MMR6-NEXT:  # %bb.4: # %entry3580; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3581; MMR6-NEXT:    sync3582; MMR6-NEXT:    addiu $sp, $sp, 83583; MMR6-NEXT:    jrc $ra3584;3585; MIPS32-LABEL: test_max_8:3586; MIPS32:       # %bb.0: # %entry3587; MIPS32-NEXT:    addiu $sp, $sp, -83588; MIPS32-NEXT:    .cfi_def_cfa_offset 83589; MIPS32-NEXT:    # kill: def $at killed $a13590; MIPS32-NEXT:    sync3591; MIPS32-NEXT:    addiu $1, $zero, -43592; MIPS32-NEXT:    and $6, $4, $13593; MIPS32-NEXT:    andi $1, $4, 33594; MIPS32-NEXT:    sll $10, $1, 33595; MIPS32-NEXT:    ori $1, $zero, 2553596; MIPS32-NEXT:    sllv $8, $1, $103597; MIPS32-NEXT:    nor $9, $zero, $83598; MIPS32-NEXT:    sllv $7, $5, $103599; MIPS32-NEXT:  $BB8_1: # %entry3600; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=13601; MIPS32-NEXT:    ll $2, 0($6)3602; MIPS32-NEXT:    srav $4, $2, $103603; MIPS32-NEXT:    sll $4, $4, 243604; MIPS32-NEXT:    sra $4, $4, 243605; MIPS32-NEXT:    or $1, $zero, $43606; MIPS32-NEXT:    sllv $4, $4, $103607; MIPS32-NEXT:    slt $5, $4, $73608; MIPS32-NEXT:    move $3, $43609; MIPS32-NEXT:    movn $3, $7, $53610; MIPS32-NEXT:    and $3, $3, $83611; MIPS32-NEXT:    and $4, $2, $93612; MIPS32-NEXT:    or $4, $4, $33613; MIPS32-NEXT:    sc $4, 0($6)3614; MIPS32-NEXT:    beqz $4, $BB8_13615; MIPS32-NEXT:    nop3616; MIPS32-NEXT:  # %bb.2: # %entry3617; MIPS32-NEXT:    .insn3618; MIPS32-NEXT:  # %bb.3: # %entry3619; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3620; MIPS32-NEXT:  # %bb.4: # %entry3621; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3622; MIPS32-NEXT:    sync3623; MIPS32-NEXT:    addiu $sp, $sp, 83624; MIPS32-NEXT:    jr $ra3625; MIPS32-NEXT:    nop3626;3627; MIPSEL-LABEL: test_max_8:3628; MIPSEL:       # %bb.0: # %entry3629; MIPSEL-NEXT:    addiu $sp, $sp, -83630; MIPSEL-NEXT:    .cfi_def_cfa_offset 83631; MIPSEL-NEXT:    # kill: def $at killed $a13632; MIPSEL-NEXT:    sync3633; MIPSEL-NEXT:    addiu $1, $zero, -43634; MIPSEL-NEXT:    and $6, $4, $13635; MIPSEL-NEXT:    andi $1, $4, 33636; MIPSEL-NEXT:    sll $10, $1, 33637; MIPSEL-NEXT:    ori $1, $zero, 2553638; MIPSEL-NEXT:    sllv $8, $1, $103639; MIPSEL-NEXT:    nor $9, $zero, $83640; MIPSEL-NEXT:    sllv $7, $5, $103641; MIPSEL-NEXT:  $BB8_1: # %entry3642; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=13643; MIPSEL-NEXT:    ll $2, 0($6)3644; MIPSEL-NEXT:    srav $4, $2, $103645; MIPSEL-NEXT:    seb $4, $43646; MIPSEL-NEXT:    or $1, $zero, $43647; MIPSEL-NEXT:    sllv $4, $4, $103648; MIPSEL-NEXT:    slt $5, $4, $73649; MIPSEL-NEXT:    move $3, $43650; MIPSEL-NEXT:    movn $3, $7, $53651; MIPSEL-NEXT:    and $3, $3, $83652; MIPSEL-NEXT:    and $4, $2, $93653; MIPSEL-NEXT:    or $4, $4, $33654; MIPSEL-NEXT:    sc $4, 0($6)3655; MIPSEL-NEXT:    beqz $4, $BB8_13656; MIPSEL-NEXT:    nop3657; MIPSEL-NEXT:  # %bb.2: # %entry3658; MIPSEL-NEXT:    .insn3659; MIPSEL-NEXT:  # %bb.3: # %entry3660; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3661; MIPSEL-NEXT:  # %bb.4: # %entry3662; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3663; MIPSEL-NEXT:    sync3664; MIPSEL-NEXT:    addiu $sp, $sp, 83665; MIPSEL-NEXT:    jr $ra3666; MIPSEL-NEXT:    nop3667;3668; MIPSELR6-LABEL: test_max_8:3669; MIPSELR6:       # %bb.0: # %entry3670; MIPSELR6-NEXT:    addiu $sp, $sp, -83671; MIPSELR6-NEXT:    .cfi_def_cfa_offset 83672; MIPSELR6-NEXT:    # kill: def $at killed $a13673; MIPSELR6-NEXT:    sync3674; MIPSELR6-NEXT:    addiu $1, $zero, -43675; MIPSELR6-NEXT:    and $6, $4, $13676; MIPSELR6-NEXT:    andi $1, $4, 33677; MIPSELR6-NEXT:    sll $10, $1, 33678; MIPSELR6-NEXT:    ori $1, $zero, 2553679; MIPSELR6-NEXT:    sllv $8, $1, $103680; MIPSELR6-NEXT:    nor $9, $zero, $83681; MIPSELR6-NEXT:    sllv $7, $5, $103682; MIPSELR6-NEXT:  $BB8_1: # %entry3683; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=13684; MIPSELR6-NEXT:    ll $2, 0($6)3685; MIPSELR6-NEXT:    srav $4, $2, $103686; MIPSELR6-NEXT:    seb $4, $43687; MIPSELR6-NEXT:    or $1, $zero, $43688; MIPSELR6-NEXT:    sllv $4, $4, $103689; MIPSELR6-NEXT:    slt $5, $4, $73690; MIPSELR6-NEXT:    seleqz $3, $4, $53691; MIPSELR6-NEXT:    selnez $5, $7, $53692; MIPSELR6-NEXT:    or $3, $3, $53693; MIPSELR6-NEXT:    and $3, $3, $83694; MIPSELR6-NEXT:    and $4, $2, $93695; MIPSELR6-NEXT:    or $4, $4, $33696; MIPSELR6-NEXT:    sc $4, 0($6)3697; MIPSELR6-NEXT:    beqzc $4, $BB8_13698; MIPSELR6-NEXT:    nop3699; MIPSELR6-NEXT:  # %bb.2: # %entry3700; MIPSELR6-NEXT:    .insn3701; MIPSELR6-NEXT:  # %bb.3: # %entry3702; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3703; MIPSELR6-NEXT:  # %bb.4: # %entry3704; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3705; MIPSELR6-NEXT:    sync3706; MIPSELR6-NEXT:    addiu $sp, $sp, 83707; MIPSELR6-NEXT:    jrc $ra3708;3709; MMEL-LABEL: test_max_8:3710; MMEL:       # %bb.0: # %entry3711; MMEL-NEXT:    addiu $sp, $sp, -83712; MMEL-NEXT:    .cfi_def_cfa_offset 83713; MMEL-NEXT:    # kill: def $at killed $a13714; MMEL-NEXT:    sync3715; MMEL-NEXT:    addiu $1, $zero, -43716; MMEL-NEXT:    and $6, $4, $13717; MMEL-NEXT:    andi $1, $4, 33718; MMEL-NEXT:    sll $10, $1, 33719; MMEL-NEXT:    ori $1, $zero, 2553720; MMEL-NEXT:    sllv $8, $1, $103721; MMEL-NEXT:    nor $9, $zero, $83722; MMEL-NEXT:    sllv $7, $5, $103723; MMEL-NEXT:  $BB8_1: # %entry3724; MMEL-NEXT:    # =>This Inner Loop Header: Depth=13725; MMEL-NEXT:    ll $2, 0($6)3726; MMEL-NEXT:    srav $4, $2, $103727; MMEL-NEXT:    seb $4, $43728; MMEL-NEXT:    or $1, $zero, $43729; MMEL-NEXT:    sllv $4, $4, $103730; MMEL-NEXT:    slt $5, $4, $73731; MMEL-NEXT:    or $3, $4, $zero3732; MMEL-NEXT:    movn $3, $7, $53733; MMEL-NEXT:    and $3, $3, $83734; MMEL-NEXT:    and $4, $2, $93735; MMEL-NEXT:    or $4, $4, $33736; MMEL-NEXT:    sc $4, 0($6)3737; MMEL-NEXT:    beqzc $4, $BB8_13738; MMEL-NEXT:  # %bb.2: # %entry3739; MMEL-NEXT:    .insn3740; MMEL-NEXT:  # %bb.3: # %entry3741; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3742; MMEL-NEXT:  # %bb.4: # %entry3743; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3744; MMEL-NEXT:    sync3745; MMEL-NEXT:    addiusp 83746; MMEL-NEXT:    jrc $ra3747;3748; MMELR6-LABEL: test_max_8:3749; MMELR6:       # %bb.0: # %entry3750; MMELR6-NEXT:    addiu $sp, $sp, -83751; MMELR6-NEXT:    .cfi_def_cfa_offset 83752; MMELR6-NEXT:    # kill: def $at killed $a13753; MMELR6-NEXT:    sync3754; MMELR6-NEXT:    addiu $1, $zero, -43755; MMELR6-NEXT:    and $6, $4, $13756; MMELR6-NEXT:    andi $1, $4, 33757; MMELR6-NEXT:    sll $10, $1, 33758; MMELR6-NEXT:    ori $1, $zero, 2553759; MMELR6-NEXT:    sllv $8, $1, $103760; MMELR6-NEXT:    nor $9, $zero, $83761; MMELR6-NEXT:    sllv $7, $5, $103762; MMELR6-NEXT:  $BB8_1: # %entry3763; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=13764; MMELR6-NEXT:    ll $2, 0($6)3765; MMELR6-NEXT:    srav $4, $2, $103766; MMELR6-NEXT:    seb $4, $43767; MMELR6-NEXT:    or $1, $zero, $43768; MMELR6-NEXT:    sllv $4, $4, $103769; MMELR6-NEXT:    slt $5, $4, $73770; MMELR6-NEXT:    seleqz $3, $4, $53771; MMELR6-NEXT:    selnez $5, $7, $53772; MMELR6-NEXT:    or $3, $3, $53773; MMELR6-NEXT:    and $3, $3, $83774; MMELR6-NEXT:    and $4, $2, $93775; MMELR6-NEXT:    or $4, $4, $33776; MMELR6-NEXT:    sc $4, 0($6)3777; MMELR6-NEXT:    beqc $4, $zero, $BB8_13778; MMELR6-NEXT:  # %bb.2: # %entry3779; MMELR6-NEXT:    .insn3780; MMELR6-NEXT:  # %bb.3: # %entry3781; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3782; MMELR6-NEXT:  # %bb.4: # %entry3783; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3784; MMELR6-NEXT:    sync3785; MMELR6-NEXT:    addiu $sp, $sp, 83786; MMELR6-NEXT:    jrc $ra3787;3788; MIPS64-LABEL: test_max_8:3789; MIPS64:       # %bb.0: # %entry3790; MIPS64-NEXT:    daddiu $sp, $sp, -163791; MIPS64-NEXT:    .cfi_def_cfa_offset 163792; MIPS64-NEXT:    move $1, $53793; MIPS64-NEXT:    sync3794; MIPS64-NEXT:    daddiu $2, $zero, -43795; MIPS64-NEXT:    and $6, $4, $23796; MIPS64-NEXT:    andi $2, $4, 33797; MIPS64-NEXT:    xori $2, $2, 33798; MIPS64-NEXT:    sll $10, $2, 33799; MIPS64-NEXT:    ori $2, $zero, 2553800; MIPS64-NEXT:    sllv $8, $2, $103801; MIPS64-NEXT:    nor $9, $zero, $83802; MIPS64-NEXT:    sllv $7, $1, $103803; MIPS64-NEXT:  .LBB8_1: # %entry3804; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=13805; MIPS64-NEXT:    ll $2, 0($6)3806; MIPS64-NEXT:    srav $4, $2, $103807; MIPS64-NEXT:    seb $4, $43808; MIPS64-NEXT:    or $1, $zero, $43809; MIPS64-NEXT:    sllv $4, $4, $103810; MIPS64-NEXT:    slt $5, $4, $73811; MIPS64-NEXT:    move $3, $43812; MIPS64-NEXT:    movn $3, $7, $53813; MIPS64-NEXT:    and $3, $3, $83814; MIPS64-NEXT:    and $4, $2, $93815; MIPS64-NEXT:    or $4, $4, $33816; MIPS64-NEXT:    sc $4, 0($6)3817; MIPS64-NEXT:    beqz $4, .LBB8_13818; MIPS64-NEXT:    nop3819; MIPS64-NEXT:  # %bb.2: # %entry3820; MIPS64-NEXT:    .insn3821; MIPS64-NEXT:  # %bb.3: # %entry3822; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3823; MIPS64-NEXT:  # %bb.4: # %entry3824; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3825; MIPS64-NEXT:    sync3826; MIPS64-NEXT:    daddiu $sp, $sp, 163827; MIPS64-NEXT:    jr $ra3828; MIPS64-NEXT:    nop3829;3830; MIPS64R6-LABEL: test_max_8:3831; MIPS64R6:       # %bb.0: # %entry3832; MIPS64R6-NEXT:    daddiu $sp, $sp, -163833; MIPS64R6-NEXT:    .cfi_def_cfa_offset 163834; MIPS64R6-NEXT:    move $1, $53835; MIPS64R6-NEXT:    sync3836; MIPS64R6-NEXT:    daddiu $2, $zero, -43837; MIPS64R6-NEXT:    and $6, $4, $23838; MIPS64R6-NEXT:    andi $2, $4, 33839; MIPS64R6-NEXT:    xori $2, $2, 33840; MIPS64R6-NEXT:    sll $10, $2, 33841; MIPS64R6-NEXT:    ori $2, $zero, 2553842; MIPS64R6-NEXT:    sllv $8, $2, $103843; MIPS64R6-NEXT:    nor $9, $zero, $83844; MIPS64R6-NEXT:    sllv $7, $1, $103845; MIPS64R6-NEXT:  .LBB8_1: # %entry3846; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=13847; MIPS64R6-NEXT:    ll $2, 0($6)3848; MIPS64R6-NEXT:    srav $4, $2, $103849; MIPS64R6-NEXT:    seb $4, $43850; MIPS64R6-NEXT:    or $1, $zero, $43851; MIPS64R6-NEXT:    sllv $4, $4, $103852; MIPS64R6-NEXT:    slt $5, $4, $73853; MIPS64R6-NEXT:    seleqz $3, $4, $53854; MIPS64R6-NEXT:    selnez $5, $7, $53855; MIPS64R6-NEXT:    or $3, $3, $53856; MIPS64R6-NEXT:    and $3, $3, $83857; MIPS64R6-NEXT:    and $4, $2, $93858; MIPS64R6-NEXT:    or $4, $4, $33859; MIPS64R6-NEXT:    sc $4, 0($6)3860; MIPS64R6-NEXT:    beqzc $4, .LBB8_13861; MIPS64R6-NEXT:    nop3862; MIPS64R6-NEXT:  # %bb.2: # %entry3863; MIPS64R6-NEXT:    .insn3864; MIPS64R6-NEXT:  # %bb.3: # %entry3865; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3866; MIPS64R6-NEXT:  # %bb.4: # %entry3867; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3868; MIPS64R6-NEXT:    sync3869; MIPS64R6-NEXT:    daddiu $sp, $sp, 163870; MIPS64R6-NEXT:    jrc $ra3871;3872; MIPS64EL-LABEL: test_max_8:3873; MIPS64EL:       # %bb.0: # %entry3874; MIPS64EL-NEXT:    daddiu $sp, $sp, -163875; MIPS64EL-NEXT:    .cfi_def_cfa_offset 163876; MIPS64EL-NEXT:    move $1, $53877; MIPS64EL-NEXT:    sync3878; MIPS64EL-NEXT:    daddiu $2, $zero, -43879; MIPS64EL-NEXT:    and $6, $4, $23880; MIPS64EL-NEXT:    andi $2, $4, 33881; MIPS64EL-NEXT:    sll $10, $2, 33882; MIPS64EL-NEXT:    ori $2, $zero, 2553883; MIPS64EL-NEXT:    sllv $8, $2, $103884; MIPS64EL-NEXT:    nor $9, $zero, $83885; MIPS64EL-NEXT:    sllv $7, $1, $103886; MIPS64EL-NEXT:  .LBB8_1: # %entry3887; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=13888; MIPS64EL-NEXT:    ll $2, 0($6)3889; MIPS64EL-NEXT:    srav $4, $2, $103890; MIPS64EL-NEXT:    seb $4, $43891; MIPS64EL-NEXT:    or $1, $zero, $43892; MIPS64EL-NEXT:    sllv $4, $4, $103893; MIPS64EL-NEXT:    slt $5, $4, $73894; MIPS64EL-NEXT:    move $3, $43895; MIPS64EL-NEXT:    movn $3, $7, $53896; MIPS64EL-NEXT:    and $3, $3, $83897; MIPS64EL-NEXT:    and $4, $2, $93898; MIPS64EL-NEXT:    or $4, $4, $33899; MIPS64EL-NEXT:    sc $4, 0($6)3900; MIPS64EL-NEXT:    beqz $4, .LBB8_13901; MIPS64EL-NEXT:    nop3902; MIPS64EL-NEXT:  # %bb.2: # %entry3903; MIPS64EL-NEXT:    .insn3904; MIPS64EL-NEXT:  # %bb.3: # %entry3905; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3906; MIPS64EL-NEXT:  # %bb.4: # %entry3907; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3908; MIPS64EL-NEXT:    sync3909; MIPS64EL-NEXT:    daddiu $sp, $sp, 163910; MIPS64EL-NEXT:    jr $ra3911; MIPS64EL-NEXT:    nop3912;3913; MIPS64ELR6-LABEL: test_max_8:3914; MIPS64ELR6:       # %bb.0: # %entry3915; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -163916; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 163917; MIPS64ELR6-NEXT:    move $1, $53918; MIPS64ELR6-NEXT:    sync3919; MIPS64ELR6-NEXT:    daddiu $2, $zero, -43920; MIPS64ELR6-NEXT:    and $6, $4, $23921; MIPS64ELR6-NEXT:    andi $2, $4, 33922; MIPS64ELR6-NEXT:    sll $10, $2, 33923; MIPS64ELR6-NEXT:    ori $2, $zero, 2553924; MIPS64ELR6-NEXT:    sllv $8, $2, $103925; MIPS64ELR6-NEXT:    nor $9, $zero, $83926; MIPS64ELR6-NEXT:    sllv $7, $1, $103927; MIPS64ELR6-NEXT:  .LBB8_1: # %entry3928; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=13929; MIPS64ELR6-NEXT:    ll $2, 0($6)3930; MIPS64ELR6-NEXT:    srav $4, $2, $103931; MIPS64ELR6-NEXT:    seb $4, $43932; MIPS64ELR6-NEXT:    or $1, $zero, $43933; MIPS64ELR6-NEXT:    sllv $4, $4, $103934; MIPS64ELR6-NEXT:    slt $5, $4, $73935; MIPS64ELR6-NEXT:    seleqz $3, $4, $53936; MIPS64ELR6-NEXT:    selnez $5, $7, $53937; MIPS64ELR6-NEXT:    or $3, $3, $53938; MIPS64ELR6-NEXT:    and $3, $3, $83939; MIPS64ELR6-NEXT:    and $4, $2, $93940; MIPS64ELR6-NEXT:    or $4, $4, $33941; MIPS64ELR6-NEXT:    sc $4, 0($6)3942; MIPS64ELR6-NEXT:    beqzc $4, .LBB8_13943; MIPS64ELR6-NEXT:    nop3944; MIPS64ELR6-NEXT:  # %bb.2: # %entry3945; MIPS64ELR6-NEXT:    .insn3946; MIPS64ELR6-NEXT:  # %bb.3: # %entry3947; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill3948; MIPS64ELR6-NEXT:  # %bb.4: # %entry3949; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload3950; MIPS64ELR6-NEXT:    sync3951; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 163952; MIPS64ELR6-NEXT:    jrc $ra3953entry:3954  %0 = atomicrmw max ptr %ptr, i8 %val seq_cst3955  ret i8 %03956}3957 3958define i8 @test_min_8(ptr nocapture %ptr, i8 signext %val) {3959; MIPS-LABEL: test_min_8:3960; MIPS:       # %bb.0: # %entry3961; MIPS-NEXT:    addiu $sp, $sp, -83962; MIPS-NEXT:    .cfi_def_cfa_offset 83963; MIPS-NEXT:    # kill: def $at killed $a13964; MIPS-NEXT:    sync3965; MIPS-NEXT:    addiu $1, $zero, -43966; MIPS-NEXT:    and $6, $4, $13967; MIPS-NEXT:    andi $1, $4, 33968; MIPS-NEXT:    xori $1, $1, 33969; MIPS-NEXT:    sll $10, $1, 33970; MIPS-NEXT:    ori $1, $zero, 2553971; MIPS-NEXT:    sllv $8, $1, $103972; MIPS-NEXT:    nor $9, $zero, $83973; MIPS-NEXT:    sllv $7, $5, $103974; MIPS-NEXT:  $BB9_1: # %entry3975; MIPS-NEXT:    # =>This Inner Loop Header: Depth=13976; MIPS-NEXT:    ll $2, 0($6)3977; MIPS-NEXT:    srav $4, $2, $103978; MIPS-NEXT:    seb $4, $43979; MIPS-NEXT:    or $1, $zero, $43980; MIPS-NEXT:    sllv $4, $4, $103981; MIPS-NEXT:    slt $5, $4, $73982; MIPS-NEXT:    move $3, $43983; MIPS-NEXT:    movz $3, $7, $53984; MIPS-NEXT:    and $3, $3, $83985; MIPS-NEXT:    and $4, $2, $93986; MIPS-NEXT:    or $4, $4, $33987; MIPS-NEXT:    sc $4, 0($6)3988; MIPS-NEXT:    beqz $4, $BB9_13989; MIPS-NEXT:    nop3990; MIPS-NEXT:  # %bb.2: # %entry3991; MIPS-NEXT:    .insn3992; MIPS-NEXT:  # %bb.3: # %entry3993; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill3994; MIPS-NEXT:  # %bb.4: # %entry3995; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload3996; MIPS-NEXT:    sync3997; MIPS-NEXT:    addiu $sp, $sp, 83998; MIPS-NEXT:    jr $ra3999; MIPS-NEXT:    nop4000;4001; MIPS2-LABEL: test_min_8:4002; MIPS2:       # %bb.0: # %entry4003; MIPS2-NEXT:    addiu $sp, $sp, -84004; MIPS2-NEXT:    .cfi_def_cfa_offset 84005; MIPS2-NEXT:    # kill: def $at killed $a14006; MIPS2-NEXT:    sync4007; MIPS2-NEXT:    addiu $1, $zero, -44008; MIPS2-NEXT:    and $6, $4, $14009; MIPS2-NEXT:    andi $1, $4, 34010; MIPS2-NEXT:    sll $10, $1, 34011; MIPS2-NEXT:    ori $1, $zero, 2554012; MIPS2-NEXT:    sllv $8, $1, $104013; MIPS2-NEXT:    nor $9, $zero, $84014; MIPS2-NEXT:    sllv $7, $5, $104015; MIPS2-NEXT:  $BB9_1: # %entry4016; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=14017; MIPS2-NEXT:    ll $2, 0($6)4018; MIPS2-NEXT:    srav $4, $2, $104019; MIPS2-NEXT:    sll $4, $4, 244020; MIPS2-NEXT:    sra $4, $4, 244021; MIPS2-NEXT:    or $1, $zero, $44022; MIPS2-NEXT:    sllv $4, $4, $104023; MIPS2-NEXT:    slt $5, $4, $74024; MIPS2-NEXT:    move $3, $44025; MIPS2-NEXT:    beqz $5, $BB9_34026; MIPS2-NEXT:    nop4027; MIPS2-NEXT:  # %bb.2: # %entry4028; MIPS2-NEXT:    #   in Loop: Header=BB9_1 Depth=14029; MIPS2-NEXT:    j $BB9_44030; MIPS2-NEXT:    nop4031; MIPS2-NEXT:  $BB9_3: # %entry4032; MIPS2-NEXT:    #   in Loop: Header=BB9_1 Depth=14033; MIPS2-NEXT:    move $3, $74034; MIPS2-NEXT:  $BB9_4: # %entry4035; MIPS2-NEXT:    #   in Loop: Header=BB9_1 Depth=14036; MIPS2-NEXT:    and $3, $3, $84037; MIPS2-NEXT:    and $4, $2, $94038; MIPS2-NEXT:    or $4, $4, $34039; MIPS2-NEXT:    sc $4, 0($6)4040; MIPS2-NEXT:    beqz $4, $BB9_14041; MIPS2-NEXT:    nop4042; MIPS2-NEXT:  # %bb.5: # %entry4043; MIPS2-NEXT:    .insn4044; MIPS2-NEXT:  # %bb.6: # %entry4045; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4046; MIPS2-NEXT:  # %bb.7: # %entry4047; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4048; MIPS2-NEXT:    sync4049; MIPS2-NEXT:    addiu $sp, $sp, 84050; MIPS2-NEXT:    jr $ra4051; MIPS2-NEXT:    nop4052;4053; MIPSR6-LABEL: test_min_8:4054; MIPSR6:       # %bb.0: # %entry4055; MIPSR6-NEXT:    addiu $sp, $sp, -84056; MIPSR6-NEXT:    .cfi_def_cfa_offset 84057; MIPSR6-NEXT:    # kill: def $at killed $a14058; MIPSR6-NEXT:    sync4059; MIPSR6-NEXT:    addiu $1, $zero, -44060; MIPSR6-NEXT:    and $6, $4, $14061; MIPSR6-NEXT:    andi $1, $4, 34062; MIPSR6-NEXT:    xori $1, $1, 34063; MIPSR6-NEXT:    sll $10, $1, 34064; MIPSR6-NEXT:    ori $1, $zero, 2554065; MIPSR6-NEXT:    sllv $8, $1, $104066; MIPSR6-NEXT:    nor $9, $zero, $84067; MIPSR6-NEXT:    sllv $7, $5, $104068; MIPSR6-NEXT:  $BB9_1: # %entry4069; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=14070; MIPSR6-NEXT:    ll $2, 0($6)4071; MIPSR6-NEXT:    srav $4, $2, $104072; MIPSR6-NEXT:    seb $4, $44073; MIPSR6-NEXT:    or $1, $zero, $44074; MIPSR6-NEXT:    sllv $4, $4, $104075; MIPSR6-NEXT:    slt $5, $4, $74076; MIPSR6-NEXT:    selnez $3, $4, $54077; MIPSR6-NEXT:    seleqz $5, $7, $54078; MIPSR6-NEXT:    or $3, $3, $54079; MIPSR6-NEXT:    and $3, $3, $84080; MIPSR6-NEXT:    and $4, $2, $94081; MIPSR6-NEXT:    or $4, $4, $34082; MIPSR6-NEXT:    sc $4, 0($6)4083; MIPSR6-NEXT:    beqzc $4, $BB9_14084; MIPSR6-NEXT:    nop4085; MIPSR6-NEXT:  # %bb.2: # %entry4086; MIPSR6-NEXT:    .insn4087; MIPSR6-NEXT:  # %bb.3: # %entry4088; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4089; MIPSR6-NEXT:  # %bb.4: # %entry4090; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4091; MIPSR6-NEXT:    sync4092; MIPSR6-NEXT:    addiu $sp, $sp, 84093; MIPSR6-NEXT:    jrc $ra4094;4095; MM-LABEL: test_min_8:4096; MM:       # %bb.0: # %entry4097; MM-NEXT:    addiu $sp, $sp, -84098; MM-NEXT:    .cfi_def_cfa_offset 84099; MM-NEXT:    # kill: def $at killed $a14100; MM-NEXT:    sync4101; MM-NEXT:    addiu $1, $zero, -44102; MM-NEXT:    and $6, $4, $14103; MM-NEXT:    andi $1, $4, 34104; MM-NEXT:    xori $1, $1, 34105; MM-NEXT:    sll $10, $1, 34106; MM-NEXT:    ori $1, $zero, 2554107; MM-NEXT:    sllv $8, $1, $104108; MM-NEXT:    nor $9, $zero, $84109; MM-NEXT:    sllv $7, $5, $104110; MM-NEXT:  $BB9_1: # %entry4111; MM-NEXT:    # =>This Inner Loop Header: Depth=14112; MM-NEXT:    ll $2, 0($6)4113; MM-NEXT:    srav $4, $2, $104114; MM-NEXT:    seb $4, $44115; MM-NEXT:    or $1, $zero, $44116; MM-NEXT:    sllv $4, $4, $104117; MM-NEXT:    slt $5, $4, $74118; MM-NEXT:    or $3, $4, $zero4119; MM-NEXT:    movz $3, $7, $54120; MM-NEXT:    and $3, $3, $84121; MM-NEXT:    and $4, $2, $94122; MM-NEXT:    or $4, $4, $34123; MM-NEXT:    sc $4, 0($6)4124; MM-NEXT:    beqzc $4, $BB9_14125; MM-NEXT:  # %bb.2: # %entry4126; MM-NEXT:    .insn4127; MM-NEXT:  # %bb.3: # %entry4128; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4129; MM-NEXT:  # %bb.4: # %entry4130; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4131; MM-NEXT:    sync4132; MM-NEXT:    addiusp 84133; MM-NEXT:    jrc $ra4134;4135; MMR6-LABEL: test_min_8:4136; MMR6:       # %bb.0: # %entry4137; MMR6-NEXT:    addiu $sp, $sp, -84138; MMR6-NEXT:    .cfi_def_cfa_offset 84139; MMR6-NEXT:    # kill: def $at killed $a14140; MMR6-NEXT:    sync4141; MMR6-NEXT:    addiu $1, $zero, -44142; MMR6-NEXT:    and $6, $4, $14143; MMR6-NEXT:    andi $1, $4, 34144; MMR6-NEXT:    xori $1, $1, 34145; MMR6-NEXT:    sll $10, $1, 34146; MMR6-NEXT:    ori $1, $zero, 2554147; MMR6-NEXT:    sllv $8, $1, $104148; MMR6-NEXT:    nor $9, $zero, $84149; MMR6-NEXT:    sllv $7, $5, $104150; MMR6-NEXT:  $BB9_1: # %entry4151; MMR6-NEXT:    # =>This Inner Loop Header: Depth=14152; MMR6-NEXT:    ll $2, 0($6)4153; MMR6-NEXT:    srav $4, $2, $104154; MMR6-NEXT:    seb $4, $44155; MMR6-NEXT:    or $1, $zero, $44156; MMR6-NEXT:    sllv $4, $4, $104157; MMR6-NEXT:    slt $5, $4, $74158; MMR6-NEXT:    selnez $3, $4, $54159; MMR6-NEXT:    seleqz $5, $7, $54160; MMR6-NEXT:    or $3, $3, $54161; MMR6-NEXT:    and $3, $3, $84162; MMR6-NEXT:    and $4, $2, $94163; MMR6-NEXT:    or $4, $4, $34164; MMR6-NEXT:    sc $4, 0($6)4165; MMR6-NEXT:    beqc $4, $zero, $BB9_14166; MMR6-NEXT:  # %bb.2: # %entry4167; MMR6-NEXT:    .insn4168; MMR6-NEXT:  # %bb.3: # %entry4169; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4170; MMR6-NEXT:  # %bb.4: # %entry4171; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4172; MMR6-NEXT:    sync4173; MMR6-NEXT:    addiu $sp, $sp, 84174; MMR6-NEXT:    jrc $ra4175;4176; MIPS32-LABEL: test_min_8:4177; MIPS32:       # %bb.0: # %entry4178; MIPS32-NEXT:    addiu $sp, $sp, -84179; MIPS32-NEXT:    .cfi_def_cfa_offset 84180; MIPS32-NEXT:    # kill: def $at killed $a14181; MIPS32-NEXT:    sync4182; MIPS32-NEXT:    addiu $1, $zero, -44183; MIPS32-NEXT:    and $6, $4, $14184; MIPS32-NEXT:    andi $1, $4, 34185; MIPS32-NEXT:    sll $10, $1, 34186; MIPS32-NEXT:    ori $1, $zero, 2554187; MIPS32-NEXT:    sllv $8, $1, $104188; MIPS32-NEXT:    nor $9, $zero, $84189; MIPS32-NEXT:    sllv $7, $5, $104190; MIPS32-NEXT:  $BB9_1: # %entry4191; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=14192; MIPS32-NEXT:    ll $2, 0($6)4193; MIPS32-NEXT:    srav $4, $2, $104194; MIPS32-NEXT:    sll $4, $4, 244195; MIPS32-NEXT:    sra $4, $4, 244196; MIPS32-NEXT:    or $1, $zero, $44197; MIPS32-NEXT:    sllv $4, $4, $104198; MIPS32-NEXT:    slt $5, $4, $74199; MIPS32-NEXT:    move $3, $44200; MIPS32-NEXT:    movz $3, $7, $54201; MIPS32-NEXT:    and $3, $3, $84202; MIPS32-NEXT:    and $4, $2, $94203; MIPS32-NEXT:    or $4, $4, $34204; MIPS32-NEXT:    sc $4, 0($6)4205; MIPS32-NEXT:    beqz $4, $BB9_14206; MIPS32-NEXT:    nop4207; MIPS32-NEXT:  # %bb.2: # %entry4208; MIPS32-NEXT:    .insn4209; MIPS32-NEXT:  # %bb.3: # %entry4210; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4211; MIPS32-NEXT:  # %bb.4: # %entry4212; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4213; MIPS32-NEXT:    sync4214; MIPS32-NEXT:    addiu $sp, $sp, 84215; MIPS32-NEXT:    jr $ra4216; MIPS32-NEXT:    nop4217;4218; MIPSEL-LABEL: test_min_8:4219; MIPSEL:       # %bb.0: # %entry4220; MIPSEL-NEXT:    addiu $sp, $sp, -84221; MIPSEL-NEXT:    .cfi_def_cfa_offset 84222; MIPSEL-NEXT:    # kill: def $at killed $a14223; MIPSEL-NEXT:    sync4224; MIPSEL-NEXT:    addiu $1, $zero, -44225; MIPSEL-NEXT:    and $6, $4, $14226; MIPSEL-NEXT:    andi $1, $4, 34227; MIPSEL-NEXT:    sll $10, $1, 34228; MIPSEL-NEXT:    ori $1, $zero, 2554229; MIPSEL-NEXT:    sllv $8, $1, $104230; MIPSEL-NEXT:    nor $9, $zero, $84231; MIPSEL-NEXT:    sllv $7, $5, $104232; MIPSEL-NEXT:  $BB9_1: # %entry4233; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=14234; MIPSEL-NEXT:    ll $2, 0($6)4235; MIPSEL-NEXT:    srav $4, $2, $104236; MIPSEL-NEXT:    seb $4, $44237; MIPSEL-NEXT:    or $1, $zero, $44238; MIPSEL-NEXT:    sllv $4, $4, $104239; MIPSEL-NEXT:    slt $5, $4, $74240; MIPSEL-NEXT:    move $3, $44241; MIPSEL-NEXT:    movz $3, $7, $54242; MIPSEL-NEXT:    and $3, $3, $84243; MIPSEL-NEXT:    and $4, $2, $94244; MIPSEL-NEXT:    or $4, $4, $34245; MIPSEL-NEXT:    sc $4, 0($6)4246; MIPSEL-NEXT:    beqz $4, $BB9_14247; MIPSEL-NEXT:    nop4248; MIPSEL-NEXT:  # %bb.2: # %entry4249; MIPSEL-NEXT:    .insn4250; MIPSEL-NEXT:  # %bb.3: # %entry4251; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4252; MIPSEL-NEXT:  # %bb.4: # %entry4253; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4254; MIPSEL-NEXT:    sync4255; MIPSEL-NEXT:    addiu $sp, $sp, 84256; MIPSEL-NEXT:    jr $ra4257; MIPSEL-NEXT:    nop4258;4259; MIPSELR6-LABEL: test_min_8:4260; MIPSELR6:       # %bb.0: # %entry4261; MIPSELR6-NEXT:    addiu $sp, $sp, -84262; MIPSELR6-NEXT:    .cfi_def_cfa_offset 84263; MIPSELR6-NEXT:    # kill: def $at killed $a14264; MIPSELR6-NEXT:    sync4265; MIPSELR6-NEXT:    addiu $1, $zero, -44266; MIPSELR6-NEXT:    and $6, $4, $14267; MIPSELR6-NEXT:    andi $1, $4, 34268; MIPSELR6-NEXT:    sll $10, $1, 34269; MIPSELR6-NEXT:    ori $1, $zero, 2554270; MIPSELR6-NEXT:    sllv $8, $1, $104271; MIPSELR6-NEXT:    nor $9, $zero, $84272; MIPSELR6-NEXT:    sllv $7, $5, $104273; MIPSELR6-NEXT:  $BB9_1: # %entry4274; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=14275; MIPSELR6-NEXT:    ll $2, 0($6)4276; MIPSELR6-NEXT:    srav $4, $2, $104277; MIPSELR6-NEXT:    seb $4, $44278; MIPSELR6-NEXT:    or $1, $zero, $44279; MIPSELR6-NEXT:    sllv $4, $4, $104280; MIPSELR6-NEXT:    slt $5, $4, $74281; MIPSELR6-NEXT:    selnez $3, $4, $54282; MIPSELR6-NEXT:    seleqz $5, $7, $54283; MIPSELR6-NEXT:    or $3, $3, $54284; MIPSELR6-NEXT:    and $3, $3, $84285; MIPSELR6-NEXT:    and $4, $2, $94286; MIPSELR6-NEXT:    or $4, $4, $34287; MIPSELR6-NEXT:    sc $4, 0($6)4288; MIPSELR6-NEXT:    beqzc $4, $BB9_14289; MIPSELR6-NEXT:    nop4290; MIPSELR6-NEXT:  # %bb.2: # %entry4291; MIPSELR6-NEXT:    .insn4292; MIPSELR6-NEXT:  # %bb.3: # %entry4293; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4294; MIPSELR6-NEXT:  # %bb.4: # %entry4295; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4296; MIPSELR6-NEXT:    sync4297; MIPSELR6-NEXT:    addiu $sp, $sp, 84298; MIPSELR6-NEXT:    jrc $ra4299;4300; MMEL-LABEL: test_min_8:4301; MMEL:       # %bb.0: # %entry4302; MMEL-NEXT:    addiu $sp, $sp, -84303; MMEL-NEXT:    .cfi_def_cfa_offset 84304; MMEL-NEXT:    # kill: def $at killed $a14305; MMEL-NEXT:    sync4306; MMEL-NEXT:    addiu $1, $zero, -44307; MMEL-NEXT:    and $6, $4, $14308; MMEL-NEXT:    andi $1, $4, 34309; MMEL-NEXT:    sll $10, $1, 34310; MMEL-NEXT:    ori $1, $zero, 2554311; MMEL-NEXT:    sllv $8, $1, $104312; MMEL-NEXT:    nor $9, $zero, $84313; MMEL-NEXT:    sllv $7, $5, $104314; MMEL-NEXT:  $BB9_1: # %entry4315; MMEL-NEXT:    # =>This Inner Loop Header: Depth=14316; MMEL-NEXT:    ll $2, 0($6)4317; MMEL-NEXT:    srav $4, $2, $104318; MMEL-NEXT:    seb $4, $44319; MMEL-NEXT:    or $1, $zero, $44320; MMEL-NEXT:    sllv $4, $4, $104321; MMEL-NEXT:    slt $5, $4, $74322; MMEL-NEXT:    or $3, $4, $zero4323; MMEL-NEXT:    movz $3, $7, $54324; MMEL-NEXT:    and $3, $3, $84325; MMEL-NEXT:    and $4, $2, $94326; MMEL-NEXT:    or $4, $4, $34327; MMEL-NEXT:    sc $4, 0($6)4328; MMEL-NEXT:    beqzc $4, $BB9_14329; MMEL-NEXT:  # %bb.2: # %entry4330; MMEL-NEXT:    .insn4331; MMEL-NEXT:  # %bb.3: # %entry4332; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4333; MMEL-NEXT:  # %bb.4: # %entry4334; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4335; MMEL-NEXT:    sync4336; MMEL-NEXT:    addiusp 84337; MMEL-NEXT:    jrc $ra4338;4339; MMELR6-LABEL: test_min_8:4340; MMELR6:       # %bb.0: # %entry4341; MMELR6-NEXT:    addiu $sp, $sp, -84342; MMELR6-NEXT:    .cfi_def_cfa_offset 84343; MMELR6-NEXT:    # kill: def $at killed $a14344; MMELR6-NEXT:    sync4345; MMELR6-NEXT:    addiu $1, $zero, -44346; MMELR6-NEXT:    and $6, $4, $14347; MMELR6-NEXT:    andi $1, $4, 34348; MMELR6-NEXT:    sll $10, $1, 34349; MMELR6-NEXT:    ori $1, $zero, 2554350; MMELR6-NEXT:    sllv $8, $1, $104351; MMELR6-NEXT:    nor $9, $zero, $84352; MMELR6-NEXT:    sllv $7, $5, $104353; MMELR6-NEXT:  $BB9_1: # %entry4354; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=14355; MMELR6-NEXT:    ll $2, 0($6)4356; MMELR6-NEXT:    srav $4, $2, $104357; MMELR6-NEXT:    seb $4, $44358; MMELR6-NEXT:    or $1, $zero, $44359; MMELR6-NEXT:    sllv $4, $4, $104360; MMELR6-NEXT:    slt $5, $4, $74361; MMELR6-NEXT:    selnez $3, $4, $54362; MMELR6-NEXT:    seleqz $5, $7, $54363; MMELR6-NEXT:    or $3, $3, $54364; MMELR6-NEXT:    and $3, $3, $84365; MMELR6-NEXT:    and $4, $2, $94366; MMELR6-NEXT:    or $4, $4, $34367; MMELR6-NEXT:    sc $4, 0($6)4368; MMELR6-NEXT:    beqc $4, $zero, $BB9_14369; MMELR6-NEXT:  # %bb.2: # %entry4370; MMELR6-NEXT:    .insn4371; MMELR6-NEXT:  # %bb.3: # %entry4372; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4373; MMELR6-NEXT:  # %bb.4: # %entry4374; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4375; MMELR6-NEXT:    sync4376; MMELR6-NEXT:    addiu $sp, $sp, 84377; MMELR6-NEXT:    jrc $ra4378;4379; MIPS64-LABEL: test_min_8:4380; MIPS64:       # %bb.0: # %entry4381; MIPS64-NEXT:    daddiu $sp, $sp, -164382; MIPS64-NEXT:    .cfi_def_cfa_offset 164383; MIPS64-NEXT:    move $1, $54384; MIPS64-NEXT:    sync4385; MIPS64-NEXT:    daddiu $2, $zero, -44386; MIPS64-NEXT:    and $6, $4, $24387; MIPS64-NEXT:    andi $2, $4, 34388; MIPS64-NEXT:    xori $2, $2, 34389; MIPS64-NEXT:    sll $10, $2, 34390; MIPS64-NEXT:    ori $2, $zero, 2554391; MIPS64-NEXT:    sllv $8, $2, $104392; MIPS64-NEXT:    nor $9, $zero, $84393; MIPS64-NEXT:    sllv $7, $1, $104394; MIPS64-NEXT:  .LBB9_1: # %entry4395; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=14396; MIPS64-NEXT:    ll $2, 0($6)4397; MIPS64-NEXT:    srav $4, $2, $104398; MIPS64-NEXT:    seb $4, $44399; MIPS64-NEXT:    or $1, $zero, $44400; MIPS64-NEXT:    sllv $4, $4, $104401; MIPS64-NEXT:    slt $5, $4, $74402; MIPS64-NEXT:    move $3, $44403; MIPS64-NEXT:    movz $3, $7, $54404; MIPS64-NEXT:    and $3, $3, $84405; MIPS64-NEXT:    and $4, $2, $94406; MIPS64-NEXT:    or $4, $4, $34407; MIPS64-NEXT:    sc $4, 0($6)4408; MIPS64-NEXT:    beqz $4, .LBB9_14409; MIPS64-NEXT:    nop4410; MIPS64-NEXT:  # %bb.2: # %entry4411; MIPS64-NEXT:    .insn4412; MIPS64-NEXT:  # %bb.3: # %entry4413; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill4414; MIPS64-NEXT:  # %bb.4: # %entry4415; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload4416; MIPS64-NEXT:    sync4417; MIPS64-NEXT:    daddiu $sp, $sp, 164418; MIPS64-NEXT:    jr $ra4419; MIPS64-NEXT:    nop4420;4421; MIPS64R6-LABEL: test_min_8:4422; MIPS64R6:       # %bb.0: # %entry4423; MIPS64R6-NEXT:    daddiu $sp, $sp, -164424; MIPS64R6-NEXT:    .cfi_def_cfa_offset 164425; MIPS64R6-NEXT:    move $1, $54426; MIPS64R6-NEXT:    sync4427; MIPS64R6-NEXT:    daddiu $2, $zero, -44428; MIPS64R6-NEXT:    and $6, $4, $24429; MIPS64R6-NEXT:    andi $2, $4, 34430; MIPS64R6-NEXT:    xori $2, $2, 34431; MIPS64R6-NEXT:    sll $10, $2, 34432; MIPS64R6-NEXT:    ori $2, $zero, 2554433; MIPS64R6-NEXT:    sllv $8, $2, $104434; MIPS64R6-NEXT:    nor $9, $zero, $84435; MIPS64R6-NEXT:    sllv $7, $1, $104436; MIPS64R6-NEXT:  .LBB9_1: # %entry4437; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=14438; MIPS64R6-NEXT:    ll $2, 0($6)4439; MIPS64R6-NEXT:    srav $4, $2, $104440; MIPS64R6-NEXT:    seb $4, $44441; MIPS64R6-NEXT:    or $1, $zero, $44442; MIPS64R6-NEXT:    sllv $4, $4, $104443; MIPS64R6-NEXT:    slt $5, $4, $74444; MIPS64R6-NEXT:    selnez $3, $4, $54445; MIPS64R6-NEXT:    seleqz $5, $7, $54446; MIPS64R6-NEXT:    or $3, $3, $54447; MIPS64R6-NEXT:    and $3, $3, $84448; MIPS64R6-NEXT:    and $4, $2, $94449; MIPS64R6-NEXT:    or $4, $4, $34450; MIPS64R6-NEXT:    sc $4, 0($6)4451; MIPS64R6-NEXT:    beqzc $4, .LBB9_14452; MIPS64R6-NEXT:    nop4453; MIPS64R6-NEXT:  # %bb.2: # %entry4454; MIPS64R6-NEXT:    .insn4455; MIPS64R6-NEXT:  # %bb.3: # %entry4456; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill4457; MIPS64R6-NEXT:  # %bb.4: # %entry4458; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload4459; MIPS64R6-NEXT:    sync4460; MIPS64R6-NEXT:    daddiu $sp, $sp, 164461; MIPS64R6-NEXT:    jrc $ra4462;4463; MIPS64EL-LABEL: test_min_8:4464; MIPS64EL:       # %bb.0: # %entry4465; MIPS64EL-NEXT:    daddiu $sp, $sp, -164466; MIPS64EL-NEXT:    .cfi_def_cfa_offset 164467; MIPS64EL-NEXT:    move $1, $54468; MIPS64EL-NEXT:    sync4469; MIPS64EL-NEXT:    daddiu $2, $zero, -44470; MIPS64EL-NEXT:    and $6, $4, $24471; MIPS64EL-NEXT:    andi $2, $4, 34472; MIPS64EL-NEXT:    sll $10, $2, 34473; MIPS64EL-NEXT:    ori $2, $zero, 2554474; MIPS64EL-NEXT:    sllv $8, $2, $104475; MIPS64EL-NEXT:    nor $9, $zero, $84476; MIPS64EL-NEXT:    sllv $7, $1, $104477; MIPS64EL-NEXT:  .LBB9_1: # %entry4478; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=14479; MIPS64EL-NEXT:    ll $2, 0($6)4480; MIPS64EL-NEXT:    srav $4, $2, $104481; MIPS64EL-NEXT:    seb $4, $44482; MIPS64EL-NEXT:    or $1, $zero, $44483; MIPS64EL-NEXT:    sllv $4, $4, $104484; MIPS64EL-NEXT:    slt $5, $4, $74485; MIPS64EL-NEXT:    move $3, $44486; MIPS64EL-NEXT:    movz $3, $7, $54487; MIPS64EL-NEXT:    and $3, $3, $84488; MIPS64EL-NEXT:    and $4, $2, $94489; MIPS64EL-NEXT:    or $4, $4, $34490; MIPS64EL-NEXT:    sc $4, 0($6)4491; MIPS64EL-NEXT:    beqz $4, .LBB9_14492; MIPS64EL-NEXT:    nop4493; MIPS64EL-NEXT:  # %bb.2: # %entry4494; MIPS64EL-NEXT:    .insn4495; MIPS64EL-NEXT:  # %bb.3: # %entry4496; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill4497; MIPS64EL-NEXT:  # %bb.4: # %entry4498; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload4499; MIPS64EL-NEXT:    sync4500; MIPS64EL-NEXT:    daddiu $sp, $sp, 164501; MIPS64EL-NEXT:    jr $ra4502; MIPS64EL-NEXT:    nop4503;4504; MIPS64ELR6-LABEL: test_min_8:4505; MIPS64ELR6:       # %bb.0: # %entry4506; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -164507; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 164508; MIPS64ELR6-NEXT:    move $1, $54509; MIPS64ELR6-NEXT:    sync4510; MIPS64ELR6-NEXT:    daddiu $2, $zero, -44511; MIPS64ELR6-NEXT:    and $6, $4, $24512; MIPS64ELR6-NEXT:    andi $2, $4, 34513; MIPS64ELR6-NEXT:    sll $10, $2, 34514; MIPS64ELR6-NEXT:    ori $2, $zero, 2554515; MIPS64ELR6-NEXT:    sllv $8, $2, $104516; MIPS64ELR6-NEXT:    nor $9, $zero, $84517; MIPS64ELR6-NEXT:    sllv $7, $1, $104518; MIPS64ELR6-NEXT:  .LBB9_1: # %entry4519; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=14520; MIPS64ELR6-NEXT:    ll $2, 0($6)4521; MIPS64ELR6-NEXT:    srav $4, $2, $104522; MIPS64ELR6-NEXT:    seb $4, $44523; MIPS64ELR6-NEXT:    or $1, $zero, $44524; MIPS64ELR6-NEXT:    sllv $4, $4, $104525; MIPS64ELR6-NEXT:    slt $5, $4, $74526; MIPS64ELR6-NEXT:    selnez $3, $4, $54527; MIPS64ELR6-NEXT:    seleqz $5, $7, $54528; MIPS64ELR6-NEXT:    or $3, $3, $54529; MIPS64ELR6-NEXT:    and $3, $3, $84530; MIPS64ELR6-NEXT:    and $4, $2, $94531; MIPS64ELR6-NEXT:    or $4, $4, $34532; MIPS64ELR6-NEXT:    sc $4, 0($6)4533; MIPS64ELR6-NEXT:    beqzc $4, .LBB9_14534; MIPS64ELR6-NEXT:    nop4535; MIPS64ELR6-NEXT:  # %bb.2: # %entry4536; MIPS64ELR6-NEXT:    .insn4537; MIPS64ELR6-NEXT:  # %bb.3: # %entry4538; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill4539; MIPS64ELR6-NEXT:  # %bb.4: # %entry4540; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload4541; MIPS64ELR6-NEXT:    sync4542; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 164543; MIPS64ELR6-NEXT:    jrc $ra4544entry:4545  %0 = atomicrmw min ptr %ptr, i8 %val seq_cst4546  ret i8 %04547}4548 4549define i8 @test_umax_8(ptr nocapture %ptr, i8 signext %val) {4550; MIPS-LABEL: test_umax_8:4551; MIPS:       # %bb.0: # %entry4552; MIPS-NEXT:    addiu $sp, $sp, -84553; MIPS-NEXT:    .cfi_def_cfa_offset 84554; MIPS-NEXT:    # kill: def $at killed $a14555; MIPS-NEXT:    sync4556; MIPS-NEXT:    addiu $1, $zero, -44557; MIPS-NEXT:    and $6, $4, $14558; MIPS-NEXT:    andi $1, $4, 34559; MIPS-NEXT:    xori $1, $1, 34560; MIPS-NEXT:    sll $10, $1, 34561; MIPS-NEXT:    ori $1, $zero, 2554562; MIPS-NEXT:    sllv $8, $1, $104563; MIPS-NEXT:    nor $9, $zero, $84564; MIPS-NEXT:    sllv $7, $5, $104565; MIPS-NEXT:  $BB10_1: # %entry4566; MIPS-NEXT:    # =>This Inner Loop Header: Depth=14567; MIPS-NEXT:    ll $2, 0($6)4568; MIPS-NEXT:    srav $4, $2, $104569; MIPS-NEXT:    andi $4, $4, 2554570; MIPS-NEXT:    or $1, $zero, $44571; MIPS-NEXT:    sllv $4, $4, $104572; MIPS-NEXT:    sltu $5, $4, $74573; MIPS-NEXT:    move $3, $44574; MIPS-NEXT:    movn $3, $7, $54575; MIPS-NEXT:    and $3, $3, $84576; MIPS-NEXT:    and $4, $2, $94577; MIPS-NEXT:    or $4, $4, $34578; MIPS-NEXT:    sc $4, 0($6)4579; MIPS-NEXT:    beqz $4, $BB10_14580; MIPS-NEXT:    nop4581; MIPS-NEXT:  # %bb.2: # %entry4582; MIPS-NEXT:    .insn4583; MIPS-NEXT:  # %bb.3: # %entry4584; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4585; MIPS-NEXT:  # %bb.4: # %entry4586; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4587; MIPS-NEXT:    sync4588; MIPS-NEXT:    addiu $sp, $sp, 84589; MIPS-NEXT:    jr $ra4590; MIPS-NEXT:    nop4591;4592; MIPS2-LABEL: test_umax_8:4593; MIPS2:       # %bb.0: # %entry4594; MIPS2-NEXT:    addiu $sp, $sp, -84595; MIPS2-NEXT:    .cfi_def_cfa_offset 84596; MIPS2-NEXT:    # kill: def $at killed $a14597; MIPS2-NEXT:    sync4598; MIPS2-NEXT:    addiu $1, $zero, -44599; MIPS2-NEXT:    and $6, $4, $14600; MIPS2-NEXT:    andi $1, $4, 34601; MIPS2-NEXT:    sll $10, $1, 34602; MIPS2-NEXT:    ori $1, $zero, 2554603; MIPS2-NEXT:    sllv $8, $1, $104604; MIPS2-NEXT:    nor $9, $zero, $84605; MIPS2-NEXT:    sllv $7, $5, $104606; MIPS2-NEXT:  $BB10_1: # %entry4607; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=14608; MIPS2-NEXT:    ll $2, 0($6)4609; MIPS2-NEXT:    srav $4, $2, $104610; MIPS2-NEXT:    andi $4, $4, 2554611; MIPS2-NEXT:    or $1, $zero, $44612; MIPS2-NEXT:    sllv $4, $4, $104613; MIPS2-NEXT:    sltu $5, $4, $74614; MIPS2-NEXT:    move $3, $74615; MIPS2-NEXT:    beqz $5, $BB10_34616; MIPS2-NEXT:    nop4617; MIPS2-NEXT:  # %bb.2: # %entry4618; MIPS2-NEXT:    #   in Loop: Header=BB10_1 Depth=14619; MIPS2-NEXT:    j $BB10_44620; MIPS2-NEXT:    nop4621; MIPS2-NEXT:  $BB10_3: # %entry4622; MIPS2-NEXT:    #   in Loop: Header=BB10_1 Depth=14623; MIPS2-NEXT:    move $3, $44624; MIPS2-NEXT:  $BB10_4: # %entry4625; MIPS2-NEXT:    #   in Loop: Header=BB10_1 Depth=14626; MIPS2-NEXT:    and $3, $3, $84627; MIPS2-NEXT:    and $4, $2, $94628; MIPS2-NEXT:    or $4, $4, $34629; MIPS2-NEXT:    sc $4, 0($6)4630; MIPS2-NEXT:    beqz $4, $BB10_14631; MIPS2-NEXT:    nop4632; MIPS2-NEXT:  # %bb.5: # %entry4633; MIPS2-NEXT:    .insn4634; MIPS2-NEXT:  # %bb.6: # %entry4635; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4636; MIPS2-NEXT:  # %bb.7: # %entry4637; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4638; MIPS2-NEXT:    sync4639; MIPS2-NEXT:    addiu $sp, $sp, 84640; MIPS2-NEXT:    jr $ra4641; MIPS2-NEXT:    nop4642;4643; MIPSR6-LABEL: test_umax_8:4644; MIPSR6:       # %bb.0: # %entry4645; MIPSR6-NEXT:    addiu $sp, $sp, -84646; MIPSR6-NEXT:    .cfi_def_cfa_offset 84647; MIPSR6-NEXT:    # kill: def $at killed $a14648; MIPSR6-NEXT:    sync4649; MIPSR6-NEXT:    addiu $1, $zero, -44650; MIPSR6-NEXT:    and $6, $4, $14651; MIPSR6-NEXT:    andi $1, $4, 34652; MIPSR6-NEXT:    xori $1, $1, 34653; MIPSR6-NEXT:    sll $10, $1, 34654; MIPSR6-NEXT:    ori $1, $zero, 2554655; MIPSR6-NEXT:    sllv $8, $1, $104656; MIPSR6-NEXT:    nor $9, $zero, $84657; MIPSR6-NEXT:    sllv $7, $5, $104658; MIPSR6-NEXT:  $BB10_1: # %entry4659; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=14660; MIPSR6-NEXT:    ll $2, 0($6)4661; MIPSR6-NEXT:    srav $4, $2, $104662; MIPSR6-NEXT:    andi $4, $4, 2554663; MIPSR6-NEXT:    or $1, $zero, $44664; MIPSR6-NEXT:    sllv $4, $4, $104665; MIPSR6-NEXT:    sltu $5, $4, $74666; MIPSR6-NEXT:    seleqz $3, $4, $54667; MIPSR6-NEXT:    selnez $5, $7, $54668; MIPSR6-NEXT:    or $3, $3, $54669; MIPSR6-NEXT:    and $3, $3, $84670; MIPSR6-NEXT:    and $4, $2, $94671; MIPSR6-NEXT:    or $4, $4, $34672; MIPSR6-NEXT:    sc $4, 0($6)4673; MIPSR6-NEXT:    beqzc $4, $BB10_14674; MIPSR6-NEXT:    nop4675; MIPSR6-NEXT:  # %bb.2: # %entry4676; MIPSR6-NEXT:    .insn4677; MIPSR6-NEXT:  # %bb.3: # %entry4678; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4679; MIPSR6-NEXT:  # %bb.4: # %entry4680; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4681; MIPSR6-NEXT:    sync4682; MIPSR6-NEXT:    addiu $sp, $sp, 84683; MIPSR6-NEXT:    jrc $ra4684;4685; MM-LABEL: test_umax_8:4686; MM:       # %bb.0: # %entry4687; MM-NEXT:    addiu $sp, $sp, -84688; MM-NEXT:    .cfi_def_cfa_offset 84689; MM-NEXT:    # kill: def $at killed $a14690; MM-NEXT:    sync4691; MM-NEXT:    addiu $1, $zero, -44692; MM-NEXT:    and $6, $4, $14693; MM-NEXT:    andi $1, $4, 34694; MM-NEXT:    xori $1, $1, 34695; MM-NEXT:    sll $10, $1, 34696; MM-NEXT:    ori $1, $zero, 2554697; MM-NEXT:    sllv $8, $1, $104698; MM-NEXT:    nor $9, $zero, $84699; MM-NEXT:    sllv $7, $5, $104700; MM-NEXT:  $BB10_1: # %entry4701; MM-NEXT:    # =>This Inner Loop Header: Depth=14702; MM-NEXT:    ll $2, 0($6)4703; MM-NEXT:    srav $4, $2, $104704; MM-NEXT:    andi $4, $4, 2554705; MM-NEXT:    or $1, $zero, $44706; MM-NEXT:    sllv $4, $4, $104707; MM-NEXT:    sltu $5, $4, $74708; MM-NEXT:    or $3, $4, $zero4709; MM-NEXT:    movn $3, $7, $54710; MM-NEXT:    and $3, $3, $84711; MM-NEXT:    and $4, $2, $94712; MM-NEXT:    or $4, $4, $34713; MM-NEXT:    sc $4, 0($6)4714; MM-NEXT:    beqzc $4, $BB10_14715; MM-NEXT:  # %bb.2: # %entry4716; MM-NEXT:    .insn4717; MM-NEXT:  # %bb.3: # %entry4718; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4719; MM-NEXT:  # %bb.4: # %entry4720; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4721; MM-NEXT:    sync4722; MM-NEXT:    addiusp 84723; MM-NEXT:    jrc $ra4724;4725; MMR6-LABEL: test_umax_8:4726; MMR6:       # %bb.0: # %entry4727; MMR6-NEXT:    addiu $sp, $sp, -84728; MMR6-NEXT:    .cfi_def_cfa_offset 84729; MMR6-NEXT:    # kill: def $at killed $a14730; MMR6-NEXT:    sync4731; MMR6-NEXT:    addiu $1, $zero, -44732; MMR6-NEXT:    and $6, $4, $14733; MMR6-NEXT:    andi $1, $4, 34734; MMR6-NEXT:    xori $1, $1, 34735; MMR6-NEXT:    sll $10, $1, 34736; MMR6-NEXT:    ori $1, $zero, 2554737; MMR6-NEXT:    sllv $8, $1, $104738; MMR6-NEXT:    nor $9, $zero, $84739; MMR6-NEXT:    sllv $7, $5, $104740; MMR6-NEXT:  $BB10_1: # %entry4741; MMR6-NEXT:    # =>This Inner Loop Header: Depth=14742; MMR6-NEXT:    ll $2, 0($6)4743; MMR6-NEXT:    srav $4, $2, $104744; MMR6-NEXT:    andi $4, $4, 2554745; MMR6-NEXT:    or $1, $zero, $44746; MMR6-NEXT:    sllv $4, $4, $104747; MMR6-NEXT:    sltu $5, $4, $74748; MMR6-NEXT:    seleqz $3, $4, $54749; MMR6-NEXT:    selnez $5, $7, $54750; MMR6-NEXT:    or $3, $3, $54751; MMR6-NEXT:    and $3, $3, $84752; MMR6-NEXT:    and $4, $2, $94753; MMR6-NEXT:    or $4, $4, $34754; MMR6-NEXT:    sc $4, 0($6)4755; MMR6-NEXT:    beqc $4, $zero, $BB10_14756; MMR6-NEXT:  # %bb.2: # %entry4757; MMR6-NEXT:    .insn4758; MMR6-NEXT:  # %bb.3: # %entry4759; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4760; MMR6-NEXT:  # %bb.4: # %entry4761; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4762; MMR6-NEXT:    sync4763; MMR6-NEXT:    addiu $sp, $sp, 84764; MMR6-NEXT:    jrc $ra4765;4766; MIPS32-LABEL: test_umax_8:4767; MIPS32:       # %bb.0: # %entry4768; MIPS32-NEXT:    addiu $sp, $sp, -84769; MIPS32-NEXT:    .cfi_def_cfa_offset 84770; MIPS32-NEXT:    # kill: def $at killed $a14771; MIPS32-NEXT:    sync4772; MIPS32-NEXT:    addiu $1, $zero, -44773; MIPS32-NEXT:    and $6, $4, $14774; MIPS32-NEXT:    andi $1, $4, 34775; MIPS32-NEXT:    sll $10, $1, 34776; MIPS32-NEXT:    ori $1, $zero, 2554777; MIPS32-NEXT:    sllv $8, $1, $104778; MIPS32-NEXT:    nor $9, $zero, $84779; MIPS32-NEXT:    sllv $7, $5, $104780; MIPS32-NEXT:  $BB10_1: # %entry4781; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=14782; MIPS32-NEXT:    ll $2, 0($6)4783; MIPS32-NEXT:    srav $4, $2, $104784; MIPS32-NEXT:    andi $4, $4, 2554785; MIPS32-NEXT:    or $1, $zero, $44786; MIPS32-NEXT:    sllv $4, $4, $104787; MIPS32-NEXT:    sltu $5, $4, $74788; MIPS32-NEXT:    move $3, $44789; MIPS32-NEXT:    movn $3, $7, $54790; MIPS32-NEXT:    and $3, $3, $84791; MIPS32-NEXT:    and $4, $2, $94792; MIPS32-NEXT:    or $4, $4, $34793; MIPS32-NEXT:    sc $4, 0($6)4794; MIPS32-NEXT:    beqz $4, $BB10_14795; MIPS32-NEXT:    nop4796; MIPS32-NEXT:  # %bb.2: # %entry4797; MIPS32-NEXT:    .insn4798; MIPS32-NEXT:  # %bb.3: # %entry4799; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4800; MIPS32-NEXT:  # %bb.4: # %entry4801; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4802; MIPS32-NEXT:    sync4803; MIPS32-NEXT:    addiu $sp, $sp, 84804; MIPS32-NEXT:    jr $ra4805; MIPS32-NEXT:    nop4806;4807; MIPSEL-LABEL: test_umax_8:4808; MIPSEL:       # %bb.0: # %entry4809; MIPSEL-NEXT:    addiu $sp, $sp, -84810; MIPSEL-NEXT:    .cfi_def_cfa_offset 84811; MIPSEL-NEXT:    # kill: def $at killed $a14812; MIPSEL-NEXT:    sync4813; MIPSEL-NEXT:    addiu $1, $zero, -44814; MIPSEL-NEXT:    and $6, $4, $14815; MIPSEL-NEXT:    andi $1, $4, 34816; MIPSEL-NEXT:    sll $10, $1, 34817; MIPSEL-NEXT:    ori $1, $zero, 2554818; MIPSEL-NEXT:    sllv $8, $1, $104819; MIPSEL-NEXT:    nor $9, $zero, $84820; MIPSEL-NEXT:    sllv $7, $5, $104821; MIPSEL-NEXT:  $BB10_1: # %entry4822; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=14823; MIPSEL-NEXT:    ll $2, 0($6)4824; MIPSEL-NEXT:    srav $4, $2, $104825; MIPSEL-NEXT:    andi $4, $4, 2554826; MIPSEL-NEXT:    or $1, $zero, $44827; MIPSEL-NEXT:    sllv $4, $4, $104828; MIPSEL-NEXT:    sltu $5, $4, $74829; MIPSEL-NEXT:    move $3, $44830; MIPSEL-NEXT:    movn $3, $7, $54831; MIPSEL-NEXT:    and $3, $3, $84832; MIPSEL-NEXT:    and $4, $2, $94833; MIPSEL-NEXT:    or $4, $4, $34834; MIPSEL-NEXT:    sc $4, 0($6)4835; MIPSEL-NEXT:    beqz $4, $BB10_14836; MIPSEL-NEXT:    nop4837; MIPSEL-NEXT:  # %bb.2: # %entry4838; MIPSEL-NEXT:    .insn4839; MIPSEL-NEXT:  # %bb.3: # %entry4840; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4841; MIPSEL-NEXT:  # %bb.4: # %entry4842; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4843; MIPSEL-NEXT:    sync4844; MIPSEL-NEXT:    addiu $sp, $sp, 84845; MIPSEL-NEXT:    jr $ra4846; MIPSEL-NEXT:    nop4847;4848; MIPSELR6-LABEL: test_umax_8:4849; MIPSELR6:       # %bb.0: # %entry4850; MIPSELR6-NEXT:    addiu $sp, $sp, -84851; MIPSELR6-NEXT:    .cfi_def_cfa_offset 84852; MIPSELR6-NEXT:    # kill: def $at killed $a14853; MIPSELR6-NEXT:    sync4854; MIPSELR6-NEXT:    addiu $1, $zero, -44855; MIPSELR6-NEXT:    and $6, $4, $14856; MIPSELR6-NEXT:    andi $1, $4, 34857; MIPSELR6-NEXT:    sll $10, $1, 34858; MIPSELR6-NEXT:    ori $1, $zero, 2554859; MIPSELR6-NEXT:    sllv $8, $1, $104860; MIPSELR6-NEXT:    nor $9, $zero, $84861; MIPSELR6-NEXT:    sllv $7, $5, $104862; MIPSELR6-NEXT:  $BB10_1: # %entry4863; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=14864; MIPSELR6-NEXT:    ll $2, 0($6)4865; MIPSELR6-NEXT:    srav $4, $2, $104866; MIPSELR6-NEXT:    andi $4, $4, 2554867; MIPSELR6-NEXT:    or $1, $zero, $44868; MIPSELR6-NEXT:    sllv $4, $4, $104869; MIPSELR6-NEXT:    sltu $5, $4, $74870; MIPSELR6-NEXT:    seleqz $3, $4, $54871; MIPSELR6-NEXT:    selnez $5, $7, $54872; MIPSELR6-NEXT:    or $3, $3, $54873; MIPSELR6-NEXT:    and $3, $3, $84874; MIPSELR6-NEXT:    and $4, $2, $94875; MIPSELR6-NEXT:    or $4, $4, $34876; MIPSELR6-NEXT:    sc $4, 0($6)4877; MIPSELR6-NEXT:    beqzc $4, $BB10_14878; MIPSELR6-NEXT:    nop4879; MIPSELR6-NEXT:  # %bb.2: # %entry4880; MIPSELR6-NEXT:    .insn4881; MIPSELR6-NEXT:  # %bb.3: # %entry4882; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4883; MIPSELR6-NEXT:  # %bb.4: # %entry4884; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4885; MIPSELR6-NEXT:    sync4886; MIPSELR6-NEXT:    addiu $sp, $sp, 84887; MIPSELR6-NEXT:    jrc $ra4888;4889; MMEL-LABEL: test_umax_8:4890; MMEL:       # %bb.0: # %entry4891; MMEL-NEXT:    addiu $sp, $sp, -84892; MMEL-NEXT:    .cfi_def_cfa_offset 84893; MMEL-NEXT:    # kill: def $at killed $a14894; MMEL-NEXT:    sync4895; MMEL-NEXT:    addiu $1, $zero, -44896; MMEL-NEXT:    and $6, $4, $14897; MMEL-NEXT:    andi $1, $4, 34898; MMEL-NEXT:    sll $10, $1, 34899; MMEL-NEXT:    ori $1, $zero, 2554900; MMEL-NEXT:    sllv $8, $1, $104901; MMEL-NEXT:    nor $9, $zero, $84902; MMEL-NEXT:    sllv $7, $5, $104903; MMEL-NEXT:  $BB10_1: # %entry4904; MMEL-NEXT:    # =>This Inner Loop Header: Depth=14905; MMEL-NEXT:    ll $2, 0($6)4906; MMEL-NEXT:    srav $4, $2, $104907; MMEL-NEXT:    andi $4, $4, 2554908; MMEL-NEXT:    or $1, $zero, $44909; MMEL-NEXT:    sllv $4, $4, $104910; MMEL-NEXT:    sltu $5, $4, $74911; MMEL-NEXT:    or $3, $4, $zero4912; MMEL-NEXT:    movn $3, $7, $54913; MMEL-NEXT:    and $3, $3, $84914; MMEL-NEXT:    and $4, $2, $94915; MMEL-NEXT:    or $4, $4, $34916; MMEL-NEXT:    sc $4, 0($6)4917; MMEL-NEXT:    beqzc $4, $BB10_14918; MMEL-NEXT:  # %bb.2: # %entry4919; MMEL-NEXT:    .insn4920; MMEL-NEXT:  # %bb.3: # %entry4921; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4922; MMEL-NEXT:  # %bb.4: # %entry4923; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4924; MMEL-NEXT:    sync4925; MMEL-NEXT:    addiusp 84926; MMEL-NEXT:    jrc $ra4927;4928; MMELR6-LABEL: test_umax_8:4929; MMELR6:       # %bb.0: # %entry4930; MMELR6-NEXT:    addiu $sp, $sp, -84931; MMELR6-NEXT:    .cfi_def_cfa_offset 84932; MMELR6-NEXT:    # kill: def $at killed $a14933; MMELR6-NEXT:    sync4934; MMELR6-NEXT:    addiu $1, $zero, -44935; MMELR6-NEXT:    and $6, $4, $14936; MMELR6-NEXT:    andi $1, $4, 34937; MMELR6-NEXT:    sll $10, $1, 34938; MMELR6-NEXT:    ori $1, $zero, 2554939; MMELR6-NEXT:    sllv $8, $1, $104940; MMELR6-NEXT:    nor $9, $zero, $84941; MMELR6-NEXT:    sllv $7, $5, $104942; MMELR6-NEXT:  $BB10_1: # %entry4943; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=14944; MMELR6-NEXT:    ll $2, 0($6)4945; MMELR6-NEXT:    srav $4, $2, $104946; MMELR6-NEXT:    andi $4, $4, 2554947; MMELR6-NEXT:    or $1, $zero, $44948; MMELR6-NEXT:    sllv $4, $4, $104949; MMELR6-NEXT:    sltu $5, $4, $74950; MMELR6-NEXT:    seleqz $3, $4, $54951; MMELR6-NEXT:    selnez $5, $7, $54952; MMELR6-NEXT:    or $3, $3, $54953; MMELR6-NEXT:    and $3, $3, $84954; MMELR6-NEXT:    and $4, $2, $94955; MMELR6-NEXT:    or $4, $4, $34956; MMELR6-NEXT:    sc $4, 0($6)4957; MMELR6-NEXT:    beqc $4, $zero, $BB10_14958; MMELR6-NEXT:  # %bb.2: # %entry4959; MMELR6-NEXT:    .insn4960; MMELR6-NEXT:  # %bb.3: # %entry4961; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill4962; MMELR6-NEXT:  # %bb.4: # %entry4963; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload4964; MMELR6-NEXT:    sync4965; MMELR6-NEXT:    addiu $sp, $sp, 84966; MMELR6-NEXT:    jrc $ra4967;4968; MIPS64-LABEL: test_umax_8:4969; MIPS64:       # %bb.0: # %entry4970; MIPS64-NEXT:    daddiu $sp, $sp, -164971; MIPS64-NEXT:    .cfi_def_cfa_offset 164972; MIPS64-NEXT:    move $1, $54973; MIPS64-NEXT:    sync4974; MIPS64-NEXT:    daddiu $2, $zero, -44975; MIPS64-NEXT:    and $6, $4, $24976; MIPS64-NEXT:    andi $2, $4, 34977; MIPS64-NEXT:    xori $2, $2, 34978; MIPS64-NEXT:    sll $10, $2, 34979; MIPS64-NEXT:    ori $2, $zero, 2554980; MIPS64-NEXT:    sllv $8, $2, $104981; MIPS64-NEXT:    nor $9, $zero, $84982; MIPS64-NEXT:    sllv $7, $1, $104983; MIPS64-NEXT:  .LBB10_1: # %entry4984; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=14985; MIPS64-NEXT:    ll $2, 0($6)4986; MIPS64-NEXT:    srav $4, $2, $104987; MIPS64-NEXT:    andi $4, $4, 2554988; MIPS64-NEXT:    or $1, $zero, $44989; MIPS64-NEXT:    sllv $4, $4, $104990; MIPS64-NEXT:    sltu $5, $4, $74991; MIPS64-NEXT:    move $3, $44992; MIPS64-NEXT:    movn $3, $7, $54993; MIPS64-NEXT:    and $3, $3, $84994; MIPS64-NEXT:    and $4, $2, $94995; MIPS64-NEXT:    or $4, $4, $34996; MIPS64-NEXT:    sc $4, 0($6)4997; MIPS64-NEXT:    beqz $4, .LBB10_14998; MIPS64-NEXT:    nop4999; MIPS64-NEXT:  # %bb.2: # %entry5000; MIPS64-NEXT:    .insn5001; MIPS64-NEXT:  # %bb.3: # %entry5002; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5003; MIPS64-NEXT:  # %bb.4: # %entry5004; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5005; MIPS64-NEXT:    sync5006; MIPS64-NEXT:    daddiu $sp, $sp, 165007; MIPS64-NEXT:    jr $ra5008; MIPS64-NEXT:    nop5009;5010; MIPS64R6-LABEL: test_umax_8:5011; MIPS64R6:       # %bb.0: # %entry5012; MIPS64R6-NEXT:    daddiu $sp, $sp, -165013; MIPS64R6-NEXT:    .cfi_def_cfa_offset 165014; MIPS64R6-NEXT:    move $1, $55015; MIPS64R6-NEXT:    sync5016; MIPS64R6-NEXT:    daddiu $2, $zero, -45017; MIPS64R6-NEXT:    and $6, $4, $25018; MIPS64R6-NEXT:    andi $2, $4, 35019; MIPS64R6-NEXT:    xori $2, $2, 35020; MIPS64R6-NEXT:    sll $10, $2, 35021; MIPS64R6-NEXT:    ori $2, $zero, 2555022; MIPS64R6-NEXT:    sllv $8, $2, $105023; MIPS64R6-NEXT:    nor $9, $zero, $85024; MIPS64R6-NEXT:    sllv $7, $1, $105025; MIPS64R6-NEXT:  .LBB10_1: # %entry5026; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=15027; MIPS64R6-NEXT:    ll $2, 0($6)5028; MIPS64R6-NEXT:    srav $4, $2, $105029; MIPS64R6-NEXT:    andi $4, $4, 2555030; MIPS64R6-NEXT:    or $1, $zero, $45031; MIPS64R6-NEXT:    sllv $4, $4, $105032; MIPS64R6-NEXT:    sltu $5, $4, $75033; MIPS64R6-NEXT:    seleqz $3, $4, $55034; MIPS64R6-NEXT:    selnez $5, $7, $55035; MIPS64R6-NEXT:    or $3, $3, $55036; MIPS64R6-NEXT:    and $3, $3, $85037; MIPS64R6-NEXT:    and $4, $2, $95038; MIPS64R6-NEXT:    or $4, $4, $35039; MIPS64R6-NEXT:    sc $4, 0($6)5040; MIPS64R6-NEXT:    beqzc $4, .LBB10_15041; MIPS64R6-NEXT:    nop5042; MIPS64R6-NEXT:  # %bb.2: # %entry5043; MIPS64R6-NEXT:    .insn5044; MIPS64R6-NEXT:  # %bb.3: # %entry5045; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5046; MIPS64R6-NEXT:  # %bb.4: # %entry5047; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5048; MIPS64R6-NEXT:    sync5049; MIPS64R6-NEXT:    daddiu $sp, $sp, 165050; MIPS64R6-NEXT:    jrc $ra5051;5052; MIPS64EL-LABEL: test_umax_8:5053; MIPS64EL:       # %bb.0: # %entry5054; MIPS64EL-NEXT:    daddiu $sp, $sp, -165055; MIPS64EL-NEXT:    .cfi_def_cfa_offset 165056; MIPS64EL-NEXT:    move $1, $55057; MIPS64EL-NEXT:    sync5058; MIPS64EL-NEXT:    daddiu $2, $zero, -45059; MIPS64EL-NEXT:    and $6, $4, $25060; MIPS64EL-NEXT:    andi $2, $4, 35061; MIPS64EL-NEXT:    sll $10, $2, 35062; MIPS64EL-NEXT:    ori $2, $zero, 2555063; MIPS64EL-NEXT:    sllv $8, $2, $105064; MIPS64EL-NEXT:    nor $9, $zero, $85065; MIPS64EL-NEXT:    sllv $7, $1, $105066; MIPS64EL-NEXT:  .LBB10_1: # %entry5067; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=15068; MIPS64EL-NEXT:    ll $2, 0($6)5069; MIPS64EL-NEXT:    srav $4, $2, $105070; MIPS64EL-NEXT:    andi $4, $4, 2555071; MIPS64EL-NEXT:    or $1, $zero, $45072; MIPS64EL-NEXT:    sllv $4, $4, $105073; MIPS64EL-NEXT:    sltu $5, $4, $75074; MIPS64EL-NEXT:    move $3, $45075; MIPS64EL-NEXT:    movn $3, $7, $55076; MIPS64EL-NEXT:    and $3, $3, $85077; MIPS64EL-NEXT:    and $4, $2, $95078; MIPS64EL-NEXT:    or $4, $4, $35079; MIPS64EL-NEXT:    sc $4, 0($6)5080; MIPS64EL-NEXT:    beqz $4, .LBB10_15081; MIPS64EL-NEXT:    nop5082; MIPS64EL-NEXT:  # %bb.2: # %entry5083; MIPS64EL-NEXT:    .insn5084; MIPS64EL-NEXT:  # %bb.3: # %entry5085; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5086; MIPS64EL-NEXT:  # %bb.4: # %entry5087; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5088; MIPS64EL-NEXT:    sync5089; MIPS64EL-NEXT:    daddiu $sp, $sp, 165090; MIPS64EL-NEXT:    jr $ra5091; MIPS64EL-NEXT:    nop5092;5093; MIPS64ELR6-LABEL: test_umax_8:5094; MIPS64ELR6:       # %bb.0: # %entry5095; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -165096; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 165097; MIPS64ELR6-NEXT:    move $1, $55098; MIPS64ELR6-NEXT:    sync5099; MIPS64ELR6-NEXT:    daddiu $2, $zero, -45100; MIPS64ELR6-NEXT:    and $6, $4, $25101; MIPS64ELR6-NEXT:    andi $2, $4, 35102; MIPS64ELR6-NEXT:    sll $10, $2, 35103; MIPS64ELR6-NEXT:    ori $2, $zero, 2555104; MIPS64ELR6-NEXT:    sllv $8, $2, $105105; MIPS64ELR6-NEXT:    nor $9, $zero, $85106; MIPS64ELR6-NEXT:    sllv $7, $1, $105107; MIPS64ELR6-NEXT:  .LBB10_1: # %entry5108; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=15109; MIPS64ELR6-NEXT:    ll $2, 0($6)5110; MIPS64ELR6-NEXT:    srav $4, $2, $105111; MIPS64ELR6-NEXT:    andi $4, $4, 2555112; MIPS64ELR6-NEXT:    or $1, $zero, $45113; MIPS64ELR6-NEXT:    sllv $4, $4, $105114; MIPS64ELR6-NEXT:    sltu $5, $4, $75115; MIPS64ELR6-NEXT:    seleqz $3, $4, $55116; MIPS64ELR6-NEXT:    selnez $5, $7, $55117; MIPS64ELR6-NEXT:    or $3, $3, $55118; MIPS64ELR6-NEXT:    and $3, $3, $85119; MIPS64ELR6-NEXT:    and $4, $2, $95120; MIPS64ELR6-NEXT:    or $4, $4, $35121; MIPS64ELR6-NEXT:    sc $4, 0($6)5122; MIPS64ELR6-NEXT:    beqzc $4, .LBB10_15123; MIPS64ELR6-NEXT:    nop5124; MIPS64ELR6-NEXT:  # %bb.2: # %entry5125; MIPS64ELR6-NEXT:    .insn5126; MIPS64ELR6-NEXT:  # %bb.3: # %entry5127; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5128; MIPS64ELR6-NEXT:  # %bb.4: # %entry5129; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5130; MIPS64ELR6-NEXT:    sync5131; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 165132; MIPS64ELR6-NEXT:    jrc $ra5133entry:5134  %0 = atomicrmw umax ptr %ptr, i8 %val seq_cst5135  ret i8 %05136}5137 5138define i8 @test_umin_8(ptr nocapture %ptr, i8 signext %val) {5139; MIPS-LABEL: test_umin_8:5140; MIPS:       # %bb.0: # %entry5141; MIPS-NEXT:    addiu $sp, $sp, -85142; MIPS-NEXT:    .cfi_def_cfa_offset 85143; MIPS-NEXT:    # kill: def $at killed $a15144; MIPS-NEXT:    sync5145; MIPS-NEXT:    addiu $1, $zero, -45146; MIPS-NEXT:    and $6, $4, $15147; MIPS-NEXT:    andi $1, $4, 35148; MIPS-NEXT:    xori $1, $1, 35149; MIPS-NEXT:    sll $10, $1, 35150; MIPS-NEXT:    ori $1, $zero, 2555151; MIPS-NEXT:    sllv $8, $1, $105152; MIPS-NEXT:    nor $9, $zero, $85153; MIPS-NEXT:    sllv $7, $5, $105154; MIPS-NEXT:  $BB11_1: # %entry5155; MIPS-NEXT:    # =>This Inner Loop Header: Depth=15156; MIPS-NEXT:    ll $2, 0($6)5157; MIPS-NEXT:    srav $4, $2, $105158; MIPS-NEXT:    andi $4, $4, 2555159; MIPS-NEXT:    or $1, $zero, $45160; MIPS-NEXT:    sllv $4, $4, $105161; MIPS-NEXT:    sltu $5, $4, $75162; MIPS-NEXT:    move $3, $45163; MIPS-NEXT:    movz $3, $7, $55164; MIPS-NEXT:    and $3, $3, $85165; MIPS-NEXT:    and $4, $2, $95166; MIPS-NEXT:    or $4, $4, $35167; MIPS-NEXT:    sc $4, 0($6)5168; MIPS-NEXT:    beqz $4, $BB11_15169; MIPS-NEXT:    nop5170; MIPS-NEXT:  # %bb.2: # %entry5171; MIPS-NEXT:    .insn5172; MIPS-NEXT:  # %bb.3: # %entry5173; MIPS-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5174; MIPS-NEXT:  # %bb.4: # %entry5175; MIPS-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5176; MIPS-NEXT:    sync5177; MIPS-NEXT:    addiu $sp, $sp, 85178; MIPS-NEXT:    jr $ra5179; MIPS-NEXT:    nop5180;5181; MIPS2-LABEL: test_umin_8:5182; MIPS2:       # %bb.0: # %entry5183; MIPS2-NEXT:    addiu $sp, $sp, -85184; MIPS2-NEXT:    .cfi_def_cfa_offset 85185; MIPS2-NEXT:    # kill: def $at killed $a15186; MIPS2-NEXT:    sync5187; MIPS2-NEXT:    addiu $1, $zero, -45188; MIPS2-NEXT:    and $6, $4, $15189; MIPS2-NEXT:    andi $1, $4, 35190; MIPS2-NEXT:    sll $10, $1, 35191; MIPS2-NEXT:    ori $1, $zero, 2555192; MIPS2-NEXT:    sllv $8, $1, $105193; MIPS2-NEXT:    nor $9, $zero, $85194; MIPS2-NEXT:    sllv $7, $5, $105195; MIPS2-NEXT:  $BB11_1: # %entry5196; MIPS2-NEXT:    # =>This Inner Loop Header: Depth=15197; MIPS2-NEXT:    ll $2, 0($6)5198; MIPS2-NEXT:    srav $4, $2, $105199; MIPS2-NEXT:    andi $4, $4, 2555200; MIPS2-NEXT:    or $1, $zero, $45201; MIPS2-NEXT:    sllv $4, $4, $105202; MIPS2-NEXT:    sltu $5, $4, $75203; MIPS2-NEXT:    move $3, $45204; MIPS2-NEXT:    beqz $5, $BB11_35205; MIPS2-NEXT:    nop5206; MIPS2-NEXT:  # %bb.2: # %entry5207; MIPS2-NEXT:    #   in Loop: Header=BB11_1 Depth=15208; MIPS2-NEXT:    j $BB11_45209; MIPS2-NEXT:    nop5210; MIPS2-NEXT:  $BB11_3: # %entry5211; MIPS2-NEXT:    #   in Loop: Header=BB11_1 Depth=15212; MIPS2-NEXT:    move $3, $75213; MIPS2-NEXT:  $BB11_4: # %entry5214; MIPS2-NEXT:    #   in Loop: Header=BB11_1 Depth=15215; MIPS2-NEXT:    and $3, $3, $85216; MIPS2-NEXT:    and $4, $2, $95217; MIPS2-NEXT:    or $4, $4, $35218; MIPS2-NEXT:    sc $4, 0($6)5219; MIPS2-NEXT:    beqz $4, $BB11_15220; MIPS2-NEXT:    nop5221; MIPS2-NEXT:  # %bb.5: # %entry5222; MIPS2-NEXT:    .insn5223; MIPS2-NEXT:  # %bb.6: # %entry5224; MIPS2-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5225; MIPS2-NEXT:  # %bb.7: # %entry5226; MIPS2-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5227; MIPS2-NEXT:    sync5228; MIPS2-NEXT:    addiu $sp, $sp, 85229; MIPS2-NEXT:    jr $ra5230; MIPS2-NEXT:    nop5231;5232; MIPSR6-LABEL: test_umin_8:5233; MIPSR6:       # %bb.0: # %entry5234; MIPSR6-NEXT:    addiu $sp, $sp, -85235; MIPSR6-NEXT:    .cfi_def_cfa_offset 85236; MIPSR6-NEXT:    # kill: def $at killed $a15237; MIPSR6-NEXT:    sync5238; MIPSR6-NEXT:    addiu $1, $zero, -45239; MIPSR6-NEXT:    and $6, $4, $15240; MIPSR6-NEXT:    andi $1, $4, 35241; MIPSR6-NEXT:    xori $1, $1, 35242; MIPSR6-NEXT:    sll $10, $1, 35243; MIPSR6-NEXT:    ori $1, $zero, 2555244; MIPSR6-NEXT:    sllv $8, $1, $105245; MIPSR6-NEXT:    nor $9, $zero, $85246; MIPSR6-NEXT:    sllv $7, $5, $105247; MIPSR6-NEXT:  $BB11_1: # %entry5248; MIPSR6-NEXT:    # =>This Inner Loop Header: Depth=15249; MIPSR6-NEXT:    ll $2, 0($6)5250; MIPSR6-NEXT:    srav $4, $2, $105251; MIPSR6-NEXT:    andi $4, $4, 2555252; MIPSR6-NEXT:    or $1, $zero, $45253; MIPSR6-NEXT:    sllv $4, $4, $105254; MIPSR6-NEXT:    sltu $5, $4, $75255; MIPSR6-NEXT:    selnez $3, $4, $55256; MIPSR6-NEXT:    seleqz $5, $7, $55257; MIPSR6-NEXT:    or $3, $3, $55258; MIPSR6-NEXT:    and $3, $3, $85259; MIPSR6-NEXT:    and $4, $2, $95260; MIPSR6-NEXT:    or $4, $4, $35261; MIPSR6-NEXT:    sc $4, 0($6)5262; MIPSR6-NEXT:    beqzc $4, $BB11_15263; MIPSR6-NEXT:    nop5264; MIPSR6-NEXT:  # %bb.2: # %entry5265; MIPSR6-NEXT:    .insn5266; MIPSR6-NEXT:  # %bb.3: # %entry5267; MIPSR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5268; MIPSR6-NEXT:  # %bb.4: # %entry5269; MIPSR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5270; MIPSR6-NEXT:    sync5271; MIPSR6-NEXT:    addiu $sp, $sp, 85272; MIPSR6-NEXT:    jrc $ra5273;5274; MM-LABEL: test_umin_8:5275; MM:       # %bb.0: # %entry5276; MM-NEXT:    addiu $sp, $sp, -85277; MM-NEXT:    .cfi_def_cfa_offset 85278; MM-NEXT:    # kill: def $at killed $a15279; MM-NEXT:    sync5280; MM-NEXT:    addiu $1, $zero, -45281; MM-NEXT:    and $6, $4, $15282; MM-NEXT:    andi $1, $4, 35283; MM-NEXT:    xori $1, $1, 35284; MM-NEXT:    sll $10, $1, 35285; MM-NEXT:    ori $1, $zero, 2555286; MM-NEXT:    sllv $8, $1, $105287; MM-NEXT:    nor $9, $zero, $85288; MM-NEXT:    sllv $7, $5, $105289; MM-NEXT:  $BB11_1: # %entry5290; MM-NEXT:    # =>This Inner Loop Header: Depth=15291; MM-NEXT:    ll $2, 0($6)5292; MM-NEXT:    srav $4, $2, $105293; MM-NEXT:    andi $4, $4, 2555294; MM-NEXT:    or $1, $zero, $45295; MM-NEXT:    sllv $4, $4, $105296; MM-NEXT:    sltu $5, $4, $75297; MM-NEXT:    or $3, $4, $zero5298; MM-NEXT:    movz $3, $7, $55299; MM-NEXT:    and $3, $3, $85300; MM-NEXT:    and $4, $2, $95301; MM-NEXT:    or $4, $4, $35302; MM-NEXT:    sc $4, 0($6)5303; MM-NEXT:    beqzc $4, $BB11_15304; MM-NEXT:  # %bb.2: # %entry5305; MM-NEXT:    .insn5306; MM-NEXT:  # %bb.3: # %entry5307; MM-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5308; MM-NEXT:  # %bb.4: # %entry5309; MM-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5310; MM-NEXT:    sync5311; MM-NEXT:    addiusp 85312; MM-NEXT:    jrc $ra5313;5314; MMR6-LABEL: test_umin_8:5315; MMR6:       # %bb.0: # %entry5316; MMR6-NEXT:    addiu $sp, $sp, -85317; MMR6-NEXT:    .cfi_def_cfa_offset 85318; MMR6-NEXT:    # kill: def $at killed $a15319; MMR6-NEXT:    sync5320; MMR6-NEXT:    addiu $1, $zero, -45321; MMR6-NEXT:    and $6, $4, $15322; MMR6-NEXT:    andi $1, $4, 35323; MMR6-NEXT:    xori $1, $1, 35324; MMR6-NEXT:    sll $10, $1, 35325; MMR6-NEXT:    ori $1, $zero, 2555326; MMR6-NEXT:    sllv $8, $1, $105327; MMR6-NEXT:    nor $9, $zero, $85328; MMR6-NEXT:    sllv $7, $5, $105329; MMR6-NEXT:  $BB11_1: # %entry5330; MMR6-NEXT:    # =>This Inner Loop Header: Depth=15331; MMR6-NEXT:    ll $2, 0($6)5332; MMR6-NEXT:    srav $4, $2, $105333; MMR6-NEXT:    andi $4, $4, 2555334; MMR6-NEXT:    or $1, $zero, $45335; MMR6-NEXT:    sllv $4, $4, $105336; MMR6-NEXT:    sltu $5, $4, $75337; MMR6-NEXT:    selnez $3, $4, $55338; MMR6-NEXT:    seleqz $5, $7, $55339; MMR6-NEXT:    or $3, $3, $55340; MMR6-NEXT:    and $3, $3, $85341; MMR6-NEXT:    and $4, $2, $95342; MMR6-NEXT:    or $4, $4, $35343; MMR6-NEXT:    sc $4, 0($6)5344; MMR6-NEXT:    beqc $4, $zero, $BB11_15345; MMR6-NEXT:  # %bb.2: # %entry5346; MMR6-NEXT:    .insn5347; MMR6-NEXT:  # %bb.3: # %entry5348; MMR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5349; MMR6-NEXT:  # %bb.4: # %entry5350; MMR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5351; MMR6-NEXT:    sync5352; MMR6-NEXT:    addiu $sp, $sp, 85353; MMR6-NEXT:    jrc $ra5354;5355; MIPS32-LABEL: test_umin_8:5356; MIPS32:       # %bb.0: # %entry5357; MIPS32-NEXT:    addiu $sp, $sp, -85358; MIPS32-NEXT:    .cfi_def_cfa_offset 85359; MIPS32-NEXT:    # kill: def $at killed $a15360; MIPS32-NEXT:    sync5361; MIPS32-NEXT:    addiu $1, $zero, -45362; MIPS32-NEXT:    and $6, $4, $15363; MIPS32-NEXT:    andi $1, $4, 35364; MIPS32-NEXT:    sll $10, $1, 35365; MIPS32-NEXT:    ori $1, $zero, 2555366; MIPS32-NEXT:    sllv $8, $1, $105367; MIPS32-NEXT:    nor $9, $zero, $85368; MIPS32-NEXT:    sllv $7, $5, $105369; MIPS32-NEXT:  $BB11_1: # %entry5370; MIPS32-NEXT:    # =>This Inner Loop Header: Depth=15371; MIPS32-NEXT:    ll $2, 0($6)5372; MIPS32-NEXT:    srav $4, $2, $105373; MIPS32-NEXT:    andi $4, $4, 2555374; MIPS32-NEXT:    or $1, $zero, $45375; MIPS32-NEXT:    sllv $4, $4, $105376; MIPS32-NEXT:    sltu $5, $4, $75377; MIPS32-NEXT:    move $3, $45378; MIPS32-NEXT:    movz $3, $7, $55379; MIPS32-NEXT:    and $3, $3, $85380; MIPS32-NEXT:    and $4, $2, $95381; MIPS32-NEXT:    or $4, $4, $35382; MIPS32-NEXT:    sc $4, 0($6)5383; MIPS32-NEXT:    beqz $4, $BB11_15384; MIPS32-NEXT:    nop5385; MIPS32-NEXT:  # %bb.2: # %entry5386; MIPS32-NEXT:    .insn5387; MIPS32-NEXT:  # %bb.3: # %entry5388; MIPS32-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5389; MIPS32-NEXT:  # %bb.4: # %entry5390; MIPS32-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5391; MIPS32-NEXT:    sync5392; MIPS32-NEXT:    addiu $sp, $sp, 85393; MIPS32-NEXT:    jr $ra5394; MIPS32-NEXT:    nop5395;5396; MIPSEL-LABEL: test_umin_8:5397; MIPSEL:       # %bb.0: # %entry5398; MIPSEL-NEXT:    addiu $sp, $sp, -85399; MIPSEL-NEXT:    .cfi_def_cfa_offset 85400; MIPSEL-NEXT:    # kill: def $at killed $a15401; MIPSEL-NEXT:    sync5402; MIPSEL-NEXT:    addiu $1, $zero, -45403; MIPSEL-NEXT:    and $6, $4, $15404; MIPSEL-NEXT:    andi $1, $4, 35405; MIPSEL-NEXT:    sll $10, $1, 35406; MIPSEL-NEXT:    ori $1, $zero, 2555407; MIPSEL-NEXT:    sllv $8, $1, $105408; MIPSEL-NEXT:    nor $9, $zero, $85409; MIPSEL-NEXT:    sllv $7, $5, $105410; MIPSEL-NEXT:  $BB11_1: # %entry5411; MIPSEL-NEXT:    # =>This Inner Loop Header: Depth=15412; MIPSEL-NEXT:    ll $2, 0($6)5413; MIPSEL-NEXT:    srav $4, $2, $105414; MIPSEL-NEXT:    andi $4, $4, 2555415; MIPSEL-NEXT:    or $1, $zero, $45416; MIPSEL-NEXT:    sllv $4, $4, $105417; MIPSEL-NEXT:    sltu $5, $4, $75418; MIPSEL-NEXT:    move $3, $45419; MIPSEL-NEXT:    movz $3, $7, $55420; MIPSEL-NEXT:    and $3, $3, $85421; MIPSEL-NEXT:    and $4, $2, $95422; MIPSEL-NEXT:    or $4, $4, $35423; MIPSEL-NEXT:    sc $4, 0($6)5424; MIPSEL-NEXT:    beqz $4, $BB11_15425; MIPSEL-NEXT:    nop5426; MIPSEL-NEXT:  # %bb.2: # %entry5427; MIPSEL-NEXT:    .insn5428; MIPSEL-NEXT:  # %bb.3: # %entry5429; MIPSEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5430; MIPSEL-NEXT:  # %bb.4: # %entry5431; MIPSEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5432; MIPSEL-NEXT:    sync5433; MIPSEL-NEXT:    addiu $sp, $sp, 85434; MIPSEL-NEXT:    jr $ra5435; MIPSEL-NEXT:    nop5436;5437; MIPSELR6-LABEL: test_umin_8:5438; MIPSELR6:       # %bb.0: # %entry5439; MIPSELR6-NEXT:    addiu $sp, $sp, -85440; MIPSELR6-NEXT:    .cfi_def_cfa_offset 85441; MIPSELR6-NEXT:    # kill: def $at killed $a15442; MIPSELR6-NEXT:    sync5443; MIPSELR6-NEXT:    addiu $1, $zero, -45444; MIPSELR6-NEXT:    and $6, $4, $15445; MIPSELR6-NEXT:    andi $1, $4, 35446; MIPSELR6-NEXT:    sll $10, $1, 35447; MIPSELR6-NEXT:    ori $1, $zero, 2555448; MIPSELR6-NEXT:    sllv $8, $1, $105449; MIPSELR6-NEXT:    nor $9, $zero, $85450; MIPSELR6-NEXT:    sllv $7, $5, $105451; MIPSELR6-NEXT:  $BB11_1: # %entry5452; MIPSELR6-NEXT:    # =>This Inner Loop Header: Depth=15453; MIPSELR6-NEXT:    ll $2, 0($6)5454; MIPSELR6-NEXT:    srav $4, $2, $105455; MIPSELR6-NEXT:    andi $4, $4, 2555456; MIPSELR6-NEXT:    or $1, $zero, $45457; MIPSELR6-NEXT:    sllv $4, $4, $105458; MIPSELR6-NEXT:    sltu $5, $4, $75459; MIPSELR6-NEXT:    selnez $3, $4, $55460; MIPSELR6-NEXT:    seleqz $5, $7, $55461; MIPSELR6-NEXT:    or $3, $3, $55462; MIPSELR6-NEXT:    and $3, $3, $85463; MIPSELR6-NEXT:    and $4, $2, $95464; MIPSELR6-NEXT:    or $4, $4, $35465; MIPSELR6-NEXT:    sc $4, 0($6)5466; MIPSELR6-NEXT:    beqzc $4, $BB11_15467; MIPSELR6-NEXT:    nop5468; MIPSELR6-NEXT:  # %bb.2: # %entry5469; MIPSELR6-NEXT:    .insn5470; MIPSELR6-NEXT:  # %bb.3: # %entry5471; MIPSELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5472; MIPSELR6-NEXT:  # %bb.4: # %entry5473; MIPSELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5474; MIPSELR6-NEXT:    sync5475; MIPSELR6-NEXT:    addiu $sp, $sp, 85476; MIPSELR6-NEXT:    jrc $ra5477;5478; MMEL-LABEL: test_umin_8:5479; MMEL:       # %bb.0: # %entry5480; MMEL-NEXT:    addiu $sp, $sp, -85481; MMEL-NEXT:    .cfi_def_cfa_offset 85482; MMEL-NEXT:    # kill: def $at killed $a15483; MMEL-NEXT:    sync5484; MMEL-NEXT:    addiu $1, $zero, -45485; MMEL-NEXT:    and $6, $4, $15486; MMEL-NEXT:    andi $1, $4, 35487; MMEL-NEXT:    sll $10, $1, 35488; MMEL-NEXT:    ori $1, $zero, 2555489; MMEL-NEXT:    sllv $8, $1, $105490; MMEL-NEXT:    nor $9, $zero, $85491; MMEL-NEXT:    sllv $7, $5, $105492; MMEL-NEXT:  $BB11_1: # %entry5493; MMEL-NEXT:    # =>This Inner Loop Header: Depth=15494; MMEL-NEXT:    ll $2, 0($6)5495; MMEL-NEXT:    srav $4, $2, $105496; MMEL-NEXT:    andi $4, $4, 2555497; MMEL-NEXT:    or $1, $zero, $45498; MMEL-NEXT:    sllv $4, $4, $105499; MMEL-NEXT:    sltu $5, $4, $75500; MMEL-NEXT:    or $3, $4, $zero5501; MMEL-NEXT:    movz $3, $7, $55502; MMEL-NEXT:    and $3, $3, $85503; MMEL-NEXT:    and $4, $2, $95504; MMEL-NEXT:    or $4, $4, $35505; MMEL-NEXT:    sc $4, 0($6)5506; MMEL-NEXT:    beqzc $4, $BB11_15507; MMEL-NEXT:  # %bb.2: # %entry5508; MMEL-NEXT:    .insn5509; MMEL-NEXT:  # %bb.3: # %entry5510; MMEL-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5511; MMEL-NEXT:  # %bb.4: # %entry5512; MMEL-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5513; MMEL-NEXT:    sync5514; MMEL-NEXT:    addiusp 85515; MMEL-NEXT:    jrc $ra5516;5517; MMELR6-LABEL: test_umin_8:5518; MMELR6:       # %bb.0: # %entry5519; MMELR6-NEXT:    addiu $sp, $sp, -85520; MMELR6-NEXT:    .cfi_def_cfa_offset 85521; MMELR6-NEXT:    # kill: def $at killed $a15522; MMELR6-NEXT:    sync5523; MMELR6-NEXT:    addiu $1, $zero, -45524; MMELR6-NEXT:    and $6, $4, $15525; MMELR6-NEXT:    andi $1, $4, 35526; MMELR6-NEXT:    sll $10, $1, 35527; MMELR6-NEXT:    ori $1, $zero, 2555528; MMELR6-NEXT:    sllv $8, $1, $105529; MMELR6-NEXT:    nor $9, $zero, $85530; MMELR6-NEXT:    sllv $7, $5, $105531; MMELR6-NEXT:  $BB11_1: # %entry5532; MMELR6-NEXT:    # =>This Inner Loop Header: Depth=15533; MMELR6-NEXT:    ll $2, 0($6)5534; MMELR6-NEXT:    srav $4, $2, $105535; MMELR6-NEXT:    andi $4, $4, 2555536; MMELR6-NEXT:    or $1, $zero, $45537; MMELR6-NEXT:    sllv $4, $4, $105538; MMELR6-NEXT:    sltu $5, $4, $75539; MMELR6-NEXT:    selnez $3, $4, $55540; MMELR6-NEXT:    seleqz $5, $7, $55541; MMELR6-NEXT:    or $3, $3, $55542; MMELR6-NEXT:    and $3, $3, $85543; MMELR6-NEXT:    and $4, $2, $95544; MMELR6-NEXT:    or $4, $4, $35545; MMELR6-NEXT:    sc $4, 0($6)5546; MMELR6-NEXT:    beqc $4, $zero, $BB11_15547; MMELR6-NEXT:  # %bb.2: # %entry5548; MMELR6-NEXT:    .insn5549; MMELR6-NEXT:  # %bb.3: # %entry5550; MMELR6-NEXT:    sw $1, 4($sp) # 4-byte Folded Spill5551; MMELR6-NEXT:  # %bb.4: # %entry5552; MMELR6-NEXT:    lw $2, 4($sp) # 4-byte Folded Reload5553; MMELR6-NEXT:    sync5554; MMELR6-NEXT:    addiu $sp, $sp, 85555; MMELR6-NEXT:    jrc $ra5556;5557; MIPS64-LABEL: test_umin_8:5558; MIPS64:       # %bb.0: # %entry5559; MIPS64-NEXT:    daddiu $sp, $sp, -165560; MIPS64-NEXT:    .cfi_def_cfa_offset 165561; MIPS64-NEXT:    move $1, $55562; MIPS64-NEXT:    sync5563; MIPS64-NEXT:    daddiu $2, $zero, -45564; MIPS64-NEXT:    and $6, $4, $25565; MIPS64-NEXT:    andi $2, $4, 35566; MIPS64-NEXT:    xori $2, $2, 35567; MIPS64-NEXT:    sll $10, $2, 35568; MIPS64-NEXT:    ori $2, $zero, 2555569; MIPS64-NEXT:    sllv $8, $2, $105570; MIPS64-NEXT:    nor $9, $zero, $85571; MIPS64-NEXT:    sllv $7, $1, $105572; MIPS64-NEXT:  .LBB11_1: # %entry5573; MIPS64-NEXT:    # =>This Inner Loop Header: Depth=15574; MIPS64-NEXT:    ll $2, 0($6)5575; MIPS64-NEXT:    srav $4, $2, $105576; MIPS64-NEXT:    andi $4, $4, 2555577; MIPS64-NEXT:    or $1, $zero, $45578; MIPS64-NEXT:    sllv $4, $4, $105579; MIPS64-NEXT:    sltu $5, $4, $75580; MIPS64-NEXT:    move $3, $45581; MIPS64-NEXT:    movz $3, $7, $55582; MIPS64-NEXT:    and $3, $3, $85583; MIPS64-NEXT:    and $4, $2, $95584; MIPS64-NEXT:    or $4, $4, $35585; MIPS64-NEXT:    sc $4, 0($6)5586; MIPS64-NEXT:    beqz $4, .LBB11_15587; MIPS64-NEXT:    nop5588; MIPS64-NEXT:  # %bb.2: # %entry5589; MIPS64-NEXT:    .insn5590; MIPS64-NEXT:  # %bb.3: # %entry5591; MIPS64-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5592; MIPS64-NEXT:  # %bb.4: # %entry5593; MIPS64-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5594; MIPS64-NEXT:    sync5595; MIPS64-NEXT:    daddiu $sp, $sp, 165596; MIPS64-NEXT:    jr $ra5597; MIPS64-NEXT:    nop5598;5599; MIPS64R6-LABEL: test_umin_8:5600; MIPS64R6:       # %bb.0: # %entry5601; MIPS64R6-NEXT:    daddiu $sp, $sp, -165602; MIPS64R6-NEXT:    .cfi_def_cfa_offset 165603; MIPS64R6-NEXT:    move $1, $55604; MIPS64R6-NEXT:    sync5605; MIPS64R6-NEXT:    daddiu $2, $zero, -45606; MIPS64R6-NEXT:    and $6, $4, $25607; MIPS64R6-NEXT:    andi $2, $4, 35608; MIPS64R6-NEXT:    xori $2, $2, 35609; MIPS64R6-NEXT:    sll $10, $2, 35610; MIPS64R6-NEXT:    ori $2, $zero, 2555611; MIPS64R6-NEXT:    sllv $8, $2, $105612; MIPS64R6-NEXT:    nor $9, $zero, $85613; MIPS64R6-NEXT:    sllv $7, $1, $105614; MIPS64R6-NEXT:  .LBB11_1: # %entry5615; MIPS64R6-NEXT:    # =>This Inner Loop Header: Depth=15616; MIPS64R6-NEXT:    ll $2, 0($6)5617; MIPS64R6-NEXT:    srav $4, $2, $105618; MIPS64R6-NEXT:    andi $4, $4, 2555619; MIPS64R6-NEXT:    or $1, $zero, $45620; MIPS64R6-NEXT:    sllv $4, $4, $105621; MIPS64R6-NEXT:    sltu $5, $4, $75622; MIPS64R6-NEXT:    selnez $3, $4, $55623; MIPS64R6-NEXT:    seleqz $5, $7, $55624; MIPS64R6-NEXT:    or $3, $3, $55625; MIPS64R6-NEXT:    and $3, $3, $85626; MIPS64R6-NEXT:    and $4, $2, $95627; MIPS64R6-NEXT:    or $4, $4, $35628; MIPS64R6-NEXT:    sc $4, 0($6)5629; MIPS64R6-NEXT:    beqzc $4, .LBB11_15630; MIPS64R6-NEXT:    nop5631; MIPS64R6-NEXT:  # %bb.2: # %entry5632; MIPS64R6-NEXT:    .insn5633; MIPS64R6-NEXT:  # %bb.3: # %entry5634; MIPS64R6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5635; MIPS64R6-NEXT:  # %bb.4: # %entry5636; MIPS64R6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5637; MIPS64R6-NEXT:    sync5638; MIPS64R6-NEXT:    daddiu $sp, $sp, 165639; MIPS64R6-NEXT:    jrc $ra5640;5641; MIPS64EL-LABEL: test_umin_8:5642; MIPS64EL:       # %bb.0: # %entry5643; MIPS64EL-NEXT:    daddiu $sp, $sp, -165644; MIPS64EL-NEXT:    .cfi_def_cfa_offset 165645; MIPS64EL-NEXT:    move $1, $55646; MIPS64EL-NEXT:    sync5647; MIPS64EL-NEXT:    daddiu $2, $zero, -45648; MIPS64EL-NEXT:    and $6, $4, $25649; MIPS64EL-NEXT:    andi $2, $4, 35650; MIPS64EL-NEXT:    sll $10, $2, 35651; MIPS64EL-NEXT:    ori $2, $zero, 2555652; MIPS64EL-NEXT:    sllv $8, $2, $105653; MIPS64EL-NEXT:    nor $9, $zero, $85654; MIPS64EL-NEXT:    sllv $7, $1, $105655; MIPS64EL-NEXT:  .LBB11_1: # %entry5656; MIPS64EL-NEXT:    # =>This Inner Loop Header: Depth=15657; MIPS64EL-NEXT:    ll $2, 0($6)5658; MIPS64EL-NEXT:    srav $4, $2, $105659; MIPS64EL-NEXT:    andi $4, $4, 2555660; MIPS64EL-NEXT:    or $1, $zero, $45661; MIPS64EL-NEXT:    sllv $4, $4, $105662; MIPS64EL-NEXT:    sltu $5, $4, $75663; MIPS64EL-NEXT:    move $3, $45664; MIPS64EL-NEXT:    movz $3, $7, $55665; MIPS64EL-NEXT:    and $3, $3, $85666; MIPS64EL-NEXT:    and $4, $2, $95667; MIPS64EL-NEXT:    or $4, $4, $35668; MIPS64EL-NEXT:    sc $4, 0($6)5669; MIPS64EL-NEXT:    beqz $4, .LBB11_15670; MIPS64EL-NEXT:    nop5671; MIPS64EL-NEXT:  # %bb.2: # %entry5672; MIPS64EL-NEXT:    .insn5673; MIPS64EL-NEXT:  # %bb.3: # %entry5674; MIPS64EL-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5675; MIPS64EL-NEXT:  # %bb.4: # %entry5676; MIPS64EL-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5677; MIPS64EL-NEXT:    sync5678; MIPS64EL-NEXT:    daddiu $sp, $sp, 165679; MIPS64EL-NEXT:    jr $ra5680; MIPS64EL-NEXT:    nop5681;5682; MIPS64ELR6-LABEL: test_umin_8:5683; MIPS64ELR6:       # %bb.0: # %entry5684; MIPS64ELR6-NEXT:    daddiu $sp, $sp, -165685; MIPS64ELR6-NEXT:    .cfi_def_cfa_offset 165686; MIPS64ELR6-NEXT:    move $1, $55687; MIPS64ELR6-NEXT:    sync5688; MIPS64ELR6-NEXT:    daddiu $2, $zero, -45689; MIPS64ELR6-NEXT:    and $6, $4, $25690; MIPS64ELR6-NEXT:    andi $2, $4, 35691; MIPS64ELR6-NEXT:    sll $10, $2, 35692; MIPS64ELR6-NEXT:    ori $2, $zero, 2555693; MIPS64ELR6-NEXT:    sllv $8, $2, $105694; MIPS64ELR6-NEXT:    nor $9, $zero, $85695; MIPS64ELR6-NEXT:    sllv $7, $1, $105696; MIPS64ELR6-NEXT:  .LBB11_1: # %entry5697; MIPS64ELR6-NEXT:    # =>This Inner Loop Header: Depth=15698; MIPS64ELR6-NEXT:    ll $2, 0($6)5699; MIPS64ELR6-NEXT:    srav $4, $2, $105700; MIPS64ELR6-NEXT:    andi $4, $4, 2555701; MIPS64ELR6-NEXT:    or $1, $zero, $45702; MIPS64ELR6-NEXT:    sllv $4, $4, $105703; MIPS64ELR6-NEXT:    sltu $5, $4, $75704; MIPS64ELR6-NEXT:    selnez $3, $4, $55705; MIPS64ELR6-NEXT:    seleqz $5, $7, $55706; MIPS64ELR6-NEXT:    or $3, $3, $55707; MIPS64ELR6-NEXT:    and $3, $3, $85708; MIPS64ELR6-NEXT:    and $4, $2, $95709; MIPS64ELR6-NEXT:    or $4, $4, $35710; MIPS64ELR6-NEXT:    sc $4, 0($6)5711; MIPS64ELR6-NEXT:    beqzc $4, .LBB11_15712; MIPS64ELR6-NEXT:    nop5713; MIPS64ELR6-NEXT:  # %bb.2: # %entry5714; MIPS64ELR6-NEXT:    .insn5715; MIPS64ELR6-NEXT:  # %bb.3: # %entry5716; MIPS64ELR6-NEXT:    sw $1, 12($sp) # 4-byte Folded Spill5717; MIPS64ELR6-NEXT:  # %bb.4: # %entry5718; MIPS64ELR6-NEXT:    lw $2, 12($sp) # 4-byte Folded Reload5719; MIPS64ELR6-NEXT:    sync5720; MIPS64ELR6-NEXT:    daddiu $sp, $sp, 165721; MIPS64ELR6-NEXT:    jrc $ra5722entry:5723  %0 = atomicrmw umin ptr %ptr, i8 %val seq_cst5724  ret i8 %05725}5726