; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \ ; RUN: -check-prefixes=ALL,M2,M2-M3 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-32 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-32 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-32 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-32 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \ ; RUN: -check-prefixes=ALL,SEL,SEL-32 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \ ; RUN: -check-prefixes=ALL,M3,M2-M3 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-64 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-64 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-64 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-64 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \ ; RUN: -check-prefixes=ALL,CMOV,CMOV-64 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \ ; RUN: -check-prefixes=ALL,SEL,SEL-64 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -mattr=+micromips -asm-show-inst | FileCheck %s \ ; RUN: -check-prefixes=ALL,MM32R3 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -mattr=+micromips | FileCheck %s \ ; RUN: -check-prefixes=ALL,MMR6,MM32R6 define signext i1 @tst_select_i1_i1(i1 signext %s, i1 signext %x, i1 signext %y) { entry: ; ALL-LABEL: tst_select_i1_i1: ; M2-M3: andi $[[T0:[0-9]+]], $4, 1 ; M2: bnez $[[T0]], [[BB0:\$BB[0-9_]+]] ; M3: bnez $[[T0]], [[BB0:\.LBB[0-9_]+]] ; M2-M3: nop ; M2-M3: move $5, $6 ; M2-M3: [[BB0]]: ; M2-M3: jr $ra ; M2-M3: move $2, $5 ; CMOV: andi $[[T0:[0-9]+]], $4, 1 ; CMOV: movn $6, $5, $[[T0]] ; CMOV: move $2, $6 ; SEL: andi $[[T0:[0-9]+]], $4, 1 ; SEL: seleqz $[[T1:[0-9]+]], $6, $[[T0]] ; SEL: selnez $[[T2:[0-9]+]], $5, $[[T0]] ; SEL: or $2, $[[T2]], $[[T1]] ; MM32R3: andi16 $[[T0:[0-9]+]], $4, 1 ; MM32R3: movn $[[T1:[0-9]+]], $5, $[[T0]] #