1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC 3; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=atom | FileCheck %s --check-prefix=CHECK --check-prefix=ATOM 4; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=slm | FileCheck %s --check-prefix=CHECK --check-prefix=SLM 5; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY 6; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY 7; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL 8; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=broadwell | FileCheck %s --check-prefix=CHECK --check-prefix=BROADWELL 9; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE 10; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skx | FileCheck %s --check-prefix=CHECK --check-prefix=SKX 11; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2 12; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=ZNVER1 13 14define void @test_cmov_16(i16 %a0, i16 %a1, i16 *%a2) optsize { 15; GENERIC-LABEL: test_cmov_16: 16; GENERIC: # %bb.0: 17; GENERIC-NEXT: #APP 18; GENERIC-NEXT: cmovow %si, %di # sched: [2:0.67] 19; GENERIC-NEXT: cmovnow %si, %di # sched: [2:0.67] 20; GENERIC-NEXT: cmovbw %si, %di # sched: [2:0.67] 21; GENERIC-NEXT: cmovbw %si, %di # sched: [2:0.67] 22; GENERIC-NEXT: cmovbw %si, %di # sched: [2:0.67] 23; GENERIC-NEXT: cmovaew %si, %di # sched: [2:0.67] 24; GENERIC-NEXT: cmovaew %si, %di # sched: [2:0.67] 25; GENERIC-NEXT: cmovaew %si, %di # sched: [2:0.67] 26; GENERIC-NEXT: cmovew %si, %di # sched: [2:0.67] 27; GENERIC-NEXT: cmovew %si, %di # sched: [2:0.67] 28; GENERIC-NEXT: cmovnew %si, %di # sched: [2:0.67] 29; GENERIC-NEXT: cmovnew %si, %di # sched: [2:0.67] 30; GENERIC-NEXT: cmovbew %si, %di # sched: [3:1.00] 31; GENERIC-NEXT: cmovbew %si, %di # sched: [3:1.00] 32; GENERIC-NEXT: cmovaw %si, %di # sched: [3:1.00] 33; GENERIC-NEXT: cmovaw %si, %di # sched: [3:1.00] 34; GENERIC-NEXT: cmovsw %si, %di # sched: [2:0.67] 35; GENERIC-NEXT: cmovnsw %si, %di # sched: [2:0.67] 36; GENERIC-NEXT: cmovpw %si, %di # sched: [2:0.67] 37; GENERIC-NEXT: cmovpw %si, %di # sched: [2:0.67] 38; GENERIC-NEXT: cmovnpw %si, %di # sched: [2:0.67] 39; GENERIC-NEXT: cmovnpw %si, %di # sched: [2:0.67] 40; GENERIC-NEXT: cmovlw %si, %di # sched: [2:0.67] 41; GENERIC-NEXT: cmovlw %si, %di # sched: [2:0.67] 42; GENERIC-NEXT: cmovgew %si, %di # sched: [2:0.67] 43; GENERIC-NEXT: cmovgew %si, %di # sched: [2:0.67] 44; GENERIC-NEXT: cmovlew %si, %di # sched: [2:0.67] 45; GENERIC-NEXT: cmovlew %si, %di # sched: [2:0.67] 46; GENERIC-NEXT: cmovgw %si, %di # sched: [2:0.67] 47; GENERIC-NEXT: cmovgw %si, %di # sched: [2:0.67] 48; GENERIC-NEXT: cmovow (%rdx), %di # sched: [7:0.67] 49; GENERIC-NEXT: cmovnow (%rdx), %di # sched: [7:0.67] 50; GENERIC-NEXT: cmovbw (%rdx), %di # sched: [7:0.67] 51; GENERIC-NEXT: cmovbw (%rdx), %di # sched: [7:0.67] 52; GENERIC-NEXT: cmovbw (%rdx), %di # sched: [7:0.67] 53; GENERIC-NEXT: cmovaew (%rdx), %di # sched: [7:0.67] 54; GENERIC-NEXT: cmovaew (%rdx), %di # sched: [7:0.67] 55; GENERIC-NEXT: cmovaew (%rdx), %di # sched: [7:0.67] 56; GENERIC-NEXT: cmovew (%rdx), %di # sched: [7:0.67] 57; GENERIC-NEXT: cmovew (%rdx), %di # sched: [7:0.67] 58; GENERIC-NEXT: cmovnew (%rdx), %di # sched: [7:0.67] 59; GENERIC-NEXT: cmovnew (%rdx), %di # sched: [7:0.67] 60; GENERIC-NEXT: cmovbew (%rdx), %di # sched: [8:1.00] 61; GENERIC-NEXT: cmovbew (%rdx), %di # sched: [8:1.00] 62; GENERIC-NEXT: cmovaw (%rdx), %di # sched: [8:1.00] 63; GENERIC-NEXT: cmovaw (%rdx), %di # sched: [8:1.00] 64; GENERIC-NEXT: cmovsw (%rdx), %di # sched: [7:0.67] 65; GENERIC-NEXT: cmovnsw (%rdx), %di # sched: [7:0.67] 66; GENERIC-NEXT: cmovpw (%rdx), %di # sched: [7:0.67] 67; GENERIC-NEXT: cmovpw (%rdx), %di # sched: [7:0.67] 68; GENERIC-NEXT: cmovnpw (%rdx), %di # sched: [7:0.67] 69; GENERIC-NEXT: cmovnpw (%rdx), %di # sched: [7:0.67] 70; GENERIC-NEXT: cmovlw (%rdx), %di # sched: [7:0.67] 71; GENERIC-NEXT: cmovlw (%rdx), %di # sched: [7:0.67] 72; GENERIC-NEXT: cmovgew (%rdx), %di # sched: [7:0.67] 73; GENERIC-NEXT: cmovgew (%rdx), %di # sched: [7:0.67] 74; GENERIC-NEXT: cmovlew (%rdx), %di # sched: [7:0.67] 75; GENERIC-NEXT: cmovlew (%rdx), %di # sched: [7:0.67] 76; GENERIC-NEXT: cmovgw (%rdx), %di # sched: [7:0.67] 77; GENERIC-NEXT: cmovgw (%rdx), %di # sched: [7:0.67] 78; GENERIC-NEXT: #NO_APP 79; GENERIC-NEXT: retq # sched: [1:1.00] 80; 81; ATOM-LABEL: test_cmov_16: 82; ATOM: # %bb.0: 83; ATOM-NEXT: #APP 84; ATOM-NEXT: cmovow %si, %di # sched: [1:0.50] 85; ATOM-NEXT: cmovnow %si, %di # sched: [1:0.50] 86; ATOM-NEXT: cmovbw %si, %di # sched: [1:0.50] 87; ATOM-NEXT: cmovbw %si, %di # sched: [1:0.50] 88; ATOM-NEXT: cmovbw %si, %di # sched: [1:0.50] 89; ATOM-NEXT: cmovaew %si, %di # sched: [1:0.50] 90; ATOM-NEXT: cmovaew %si, %di # sched: [1:0.50] 91; ATOM-NEXT: cmovaew %si, %di # sched: [1:0.50] 92; ATOM-NEXT: cmovew %si, %di # sched: [1:0.50] 93; ATOM-NEXT: cmovew %si, %di # sched: [1:0.50] 94; ATOM-NEXT: cmovnew %si, %di # sched: [1:0.50] 95; ATOM-NEXT: cmovnew %si, %di # sched: [1:0.50] 96; ATOM-NEXT: cmovbew %si, %di # sched: [1:0.50] 97; ATOM-NEXT: cmovbew %si, %di # sched: [1:0.50] 98; ATOM-NEXT: cmovaw %si, %di # sched: [1:0.50] 99; ATOM-NEXT: cmovaw %si, %di # sched: [1:0.50] 100; ATOM-NEXT: cmovsw %si, %di # sched: [1:0.50] 101; ATOM-NEXT: cmovnsw %si, %di # sched: [1:0.50] 102; ATOM-NEXT: cmovpw %si, %di # sched: [1:0.50] 103; ATOM-NEXT: cmovpw %si, %di # sched: [1:0.50] 104; ATOM-NEXT: cmovnpw %si, %di # sched: [1:0.50] 105; ATOM-NEXT: cmovnpw %si, %di # sched: [1:0.50] 106; ATOM-NEXT: cmovlw %si, %di # sched: [1:0.50] 107; ATOM-NEXT: cmovlw %si, %di # sched: [1:0.50] 108; ATOM-NEXT: cmovgew %si, %di # sched: [1:0.50] 109; ATOM-NEXT: cmovgew %si, %di # sched: [1:0.50] 110; ATOM-NEXT: cmovlew %si, %di # sched: [1:0.50] 111; ATOM-NEXT: cmovlew %si, %di # sched: [1:0.50] 112; ATOM-NEXT: cmovgw %si, %di # sched: [1:0.50] 113; ATOM-NEXT: cmovgw %si, %di # sched: [1:0.50] 114; ATOM-NEXT: cmovow (%rdx), %di # sched: [1:1.00] 115; ATOM-NEXT: cmovnow (%rdx), %di # sched: [1:1.00] 116; ATOM-NEXT: cmovbw (%rdx), %di # sched: [1:1.00] 117; ATOM-NEXT: cmovbw (%rdx), %di # sched: [1:1.00] 118; ATOM-NEXT: cmovbw (%rdx), %di # sched: [1:1.00] 119; ATOM-NEXT: cmovaew (%rdx), %di # sched: [1:1.00] 120; ATOM-NEXT: cmovaew (%rdx), %di # sched: [1:1.00] 121; ATOM-NEXT: cmovaew (%rdx), %di # sched: [1:1.00] 122; ATOM-NEXT: cmovew (%rdx), %di # sched: [1:1.00] 123; ATOM-NEXT: cmovew (%rdx), %di # sched: [1:1.00] 124; ATOM-NEXT: cmovnew (%rdx), %di # sched: [1:1.00] 125; ATOM-NEXT: cmovnew (%rdx), %di # sched: [1:1.00] 126; ATOM-NEXT: cmovbew (%rdx), %di # sched: [1:1.00] 127; ATOM-NEXT: cmovbew (%rdx), %di # sched: [1:1.00] 128; ATOM-NEXT: cmovaw (%rdx), %di # sched: [1:1.00] 129; ATOM-NEXT: cmovaw (%rdx), %di # sched: [1:1.00] 130; ATOM-NEXT: cmovsw (%rdx), %di # sched: [1:1.00] 131; ATOM-NEXT: cmovnsw (%rdx), %di # sched: [1:1.00] 132; ATOM-NEXT: cmovpw (%rdx), %di # sched: [1:1.00] 133; ATOM-NEXT: cmovpw (%rdx), %di # sched: [1:1.00] 134; ATOM-NEXT: cmovnpw (%rdx), %di # sched: [1:1.00] 135; ATOM-NEXT: cmovnpw (%rdx), %di # sched: [1:1.00] 136; ATOM-NEXT: cmovlw (%rdx), %di # sched: [1:1.00] 137; ATOM-NEXT: cmovlw (%rdx), %di # sched: [1:1.00] 138; ATOM-NEXT: cmovgew (%rdx), %di # sched: [1:1.00] 139; ATOM-NEXT: cmovgew (%rdx), %di # sched: [1:1.00] 140; ATOM-NEXT: cmovlew (%rdx), %di # sched: [1:1.00] 141; ATOM-NEXT: cmovlew (%rdx), %di # sched: [1:1.00] 142; ATOM-NEXT: cmovgw (%rdx), %di # sched: [1:1.00] 143; ATOM-NEXT: cmovgw (%rdx), %di # sched: [1:1.00] 144; ATOM-NEXT: #NO_APP 145; ATOM-NEXT: retq # sched: [79:39.50] 146; 147; SLM-LABEL: test_cmov_16: 148; SLM: # %bb.0: 149; SLM-NEXT: #APP 150; SLM-NEXT: cmovow %si, %di # sched: [2:1.00] 151; SLM-NEXT: cmovnow %si, %di # sched: [2:1.00] 152; SLM-NEXT: cmovbw %si, %di # sched: [2:1.00] 153; SLM-NEXT: cmovbw %si, %di # sched: [2:1.00] 154; SLM-NEXT: cmovbw %si, %di # sched: [2:1.00] 155; SLM-NEXT: cmovaew %si, %di # sched: [2:1.00] 156; SLM-NEXT: cmovaew %si, %di # sched: [2:1.00] 157; SLM-NEXT: cmovaew %si, %di # sched: [2:1.00] 158; SLM-NEXT: cmovew %si, %di # sched: [2:1.00] 159; SLM-NEXT: cmovew %si, %di # sched: [2:1.00] 160; SLM-NEXT: cmovnew %si, %di # sched: [2:1.00] 161; SLM-NEXT: cmovnew %si, %di # sched: [2:1.00] 162; SLM-NEXT: cmovbew %si, %di # sched: [2:1.00] 163; SLM-NEXT: cmovbew %si, %di # sched: [2:1.00] 164; SLM-NEXT: cmovaw %si, %di # sched: [2:1.00] 165; SLM-NEXT: cmovaw %si, %di # sched: [2:1.00] 166; SLM-NEXT: cmovsw %si, %di # sched: [2:1.00] 167; SLM-NEXT: cmovnsw %si, %di # sched: [2:1.00] 168; SLM-NEXT: cmovpw %si, %di # sched: [2:1.00] 169; SLM-NEXT: cmovpw %si, %di # sched: [2:1.00] 170; SLM-NEXT: cmovnpw %si, %di # sched: [2:1.00] 171; SLM-NEXT: cmovnpw %si, %di # sched: [2:1.00] 172; SLM-NEXT: cmovlw %si, %di # sched: [2:1.00] 173; SLM-NEXT: cmovlw %si, %di # sched: [2:1.00] 174; SLM-NEXT: cmovgew %si, %di # sched: [2:1.00] 175; SLM-NEXT: cmovgew %si, %di # sched: [2:1.00] 176; SLM-NEXT: cmovlew %si, %di # sched: [2:1.00] 177; SLM-NEXT: cmovlew %si, %di # sched: [2:1.00] 178; SLM-NEXT: cmovgw %si, %di # sched: [2:1.00] 179; SLM-NEXT: cmovgw %si, %di # sched: [2:1.00] 180; SLM-NEXT: cmovow (%rdx), %di # sched: [5:1.00] 181; SLM-NEXT: cmovnow (%rdx), %di # sched: [5:1.00] 182; SLM-NEXT: cmovbw (%rdx), %di # sched: [5:1.00] 183; SLM-NEXT: cmovbw (%rdx), %di # sched: [5:1.00] 184; SLM-NEXT: cmovbw (%rdx), %di # sched: [5:1.00] 185; SLM-NEXT: cmovaew (%rdx), %di # sched: [5:1.00] 186; SLM-NEXT: cmovaew (%rdx), %di # sched: [5:1.00] 187; SLM-NEXT: cmovaew (%rdx), %di # sched: [5:1.00] 188; SLM-NEXT: cmovew (%rdx), %di # sched: [5:1.00] 189; SLM-NEXT: cmovew (%rdx), %di # sched: [5:1.00] 190; SLM-NEXT: cmovnew (%rdx), %di # sched: [5:1.00] 191; SLM-NEXT: cmovnew (%rdx), %di # sched: [5:1.00] 192; SLM-NEXT: cmovbew (%rdx), %di # sched: [5:1.00] 193; SLM-NEXT: cmovbew (%rdx), %di # sched: [5:1.00] 194; SLM-NEXT: cmovaw (%rdx), %di # sched: [5:1.00] 195; SLM-NEXT: cmovaw (%rdx), %di # sched: [5:1.00] 196; SLM-NEXT: cmovsw (%rdx), %di # sched: [5:1.00] 197; SLM-NEXT: cmovnsw (%rdx), %di # sched: [5:1.00] 198; SLM-NEXT: cmovpw (%rdx), %di # sched: [5:1.00] 199; SLM-NEXT: cmovpw (%rdx), %di # sched: [5:1.00] 200; SLM-NEXT: cmovnpw (%rdx), %di # sched: [5:1.00] 201; SLM-NEXT: cmovnpw (%rdx), %di # sched: [5:1.00] 202; SLM-NEXT: cmovlw (%rdx), %di # sched: [5:1.00] 203; SLM-NEXT: cmovlw (%rdx), %di # sched: [5:1.00] 204; SLM-NEXT: cmovgew (%rdx), %di # sched: [5:1.00] 205; SLM-NEXT: cmovgew (%rdx), %di # sched: [5:1.00] 206; SLM-NEXT: cmovlew (%rdx), %di # sched: [5:1.00] 207; SLM-NEXT: cmovlew (%rdx), %di # sched: [5:1.00] 208; SLM-NEXT: cmovgw (%rdx), %di # sched: [5:1.00] 209; SLM-NEXT: cmovgw (%rdx), %di # sched: [5:1.00] 210; SLM-NEXT: #NO_APP 211; SLM-NEXT: retq # sched: [4:1.00] 212; 213; SANDY-LABEL: test_cmov_16: 214; SANDY: # %bb.0: 215; SANDY-NEXT: #APP 216; SANDY-NEXT: cmovow %si, %di # sched: [2:0.67] 217; SANDY-NEXT: cmovnow %si, %di # sched: [2:0.67] 218; SANDY-NEXT: cmovbw %si, %di # sched: [2:0.67] 219; SANDY-NEXT: cmovbw %si, %di # sched: [2:0.67] 220; SANDY-NEXT: cmovbw %si, %di # sched: [2:0.67] 221; SANDY-NEXT: cmovaew %si, %di # sched: [2:0.67] 222; SANDY-NEXT: cmovaew %si, %di # sched: [2:0.67] 223; SANDY-NEXT: cmovaew %si, %di # sched: [2:0.67] 224; SANDY-NEXT: cmovew %si, %di # sched: [2:0.67] 225; SANDY-NEXT: cmovew %si, %di # sched: [2:0.67] 226; SANDY-NEXT: cmovnew %si, %di # sched: [2:0.67] 227; SANDY-NEXT: cmovnew %si, %di # sched: [2:0.67] 228; SANDY-NEXT: cmovbew %si, %di # sched: [3:1.00] 229; SANDY-NEXT: cmovbew %si, %di # sched: [3:1.00] 230; SANDY-NEXT: cmovaw %si, %di # sched: [3:1.00] 231; SANDY-NEXT: cmovaw %si, %di # sched: [3:1.00] 232; SANDY-NEXT: cmovsw %si, %di # sched: [2:0.67] 233; SANDY-NEXT: cmovnsw %si, %di # sched: [2:0.67] 234; SANDY-NEXT: cmovpw %si, %di # sched: [2:0.67] 235; SANDY-NEXT: cmovpw %si, %di # sched: [2:0.67] 236; SANDY-NEXT: cmovnpw %si, %di # sched: [2:0.67] 237; SANDY-NEXT: cmovnpw %si, %di # sched: [2:0.67] 238; SANDY-NEXT: cmovlw %si, %di # sched: [2:0.67] 239; SANDY-NEXT: cmovlw %si, %di # sched: [2:0.67] 240; SANDY-NEXT: cmovgew %si, %di # sched: [2:0.67] 241; SANDY-NEXT: cmovgew %si, %di # sched: [2:0.67] 242; SANDY-NEXT: cmovlew %si, %di # sched: [2:0.67] 243; SANDY-NEXT: cmovlew %si, %di # sched: [2:0.67] 244; SANDY-NEXT: cmovgw %si, %di # sched: [2:0.67] 245; SANDY-NEXT: cmovgw %si, %di # sched: [2:0.67] 246; SANDY-NEXT: cmovow (%rdx), %di # sched: [7:0.67] 247; SANDY-NEXT: cmovnow (%rdx), %di # sched: [7:0.67] 248; SANDY-NEXT: cmovbw (%rdx), %di # sched: [7:0.67] 249; SANDY-NEXT: cmovbw (%rdx), %di # sched: [7:0.67] 250; SANDY-NEXT: cmovbw (%rdx), %di # sched: [7:0.67] 251; SANDY-NEXT: cmovaew (%rdx), %di # sched: [7:0.67] 252; SANDY-NEXT: cmovaew (%rdx), %di # sched: [7:0.67] 253; SANDY-NEXT: cmovaew (%rdx), %di # sched: [7:0.67] 254; SANDY-NEXT: cmovew (%rdx), %di # sched: [7:0.67] 255; SANDY-NEXT: cmovew (%rdx), %di # sched: [7:0.67] 256; SANDY-NEXT: cmovnew (%rdx), %di # sched: [7:0.67] 257; SANDY-NEXT: cmovnew (%rdx), %di # sched: [7:0.67] 258; SANDY-NEXT: cmovbew (%rdx), %di # sched: [8:1.00] 259; SANDY-NEXT: cmovbew (%rdx), %di # sched: [8:1.00] 260; SANDY-NEXT: cmovaw (%rdx), %di # sched: [8:1.00] 261; SANDY-NEXT: cmovaw (%rdx), %di # sched: [8:1.00] 262; SANDY-NEXT: cmovsw (%rdx), %di # sched: [7:0.67] 263; SANDY-NEXT: cmovnsw (%rdx), %di # sched: [7:0.67] 264; SANDY-NEXT: cmovpw (%rdx), %di # sched: [7:0.67] 265; SANDY-NEXT: cmovpw (%rdx), %di # sched: [7:0.67] 266; SANDY-NEXT: cmovnpw (%rdx), %di # sched: [7:0.67] 267; SANDY-NEXT: cmovnpw (%rdx), %di # sched: [7:0.67] 268; SANDY-NEXT: cmovlw (%rdx), %di # sched: [7:0.67] 269; SANDY-NEXT: cmovlw (%rdx), %di # sched: [7:0.67] 270; SANDY-NEXT: cmovgew (%rdx), %di # sched: [7:0.67] 271; SANDY-NEXT: cmovgew (%rdx), %di # sched: [7:0.67] 272; SANDY-NEXT: cmovlew (%rdx), %di # sched: [7:0.67] 273; SANDY-NEXT: cmovlew (%rdx), %di # sched: [7:0.67] 274; SANDY-NEXT: cmovgw (%rdx), %di # sched: [7:0.67] 275; SANDY-NEXT: cmovgw (%rdx), %di # sched: [7:0.67] 276; SANDY-NEXT: #NO_APP 277; SANDY-NEXT: retq # sched: [1:1.00] 278; 279; HASWELL-LABEL: test_cmov_16: 280; HASWELL: # %bb.0: 281; HASWELL-NEXT: #APP 282; HASWELL-NEXT: cmovow %si, %di # sched: [2:0.50] 283; HASWELL-NEXT: cmovnow %si, %di # sched: [2:0.50] 284; HASWELL-NEXT: cmovbw %si, %di # sched: [2:0.50] 285; HASWELL-NEXT: cmovbw %si, %di # sched: [2:0.50] 286; HASWELL-NEXT: cmovbw %si, %di # sched: [2:0.50] 287; HASWELL-NEXT: cmovaew %si, %di # sched: [2:0.50] 288; HASWELL-NEXT: cmovaew %si, %di # sched: [2:0.50] 289; HASWELL-NEXT: cmovaew %si, %di # sched: [2:0.50] 290; HASWELL-NEXT: cmovew %si, %di # sched: [2:0.50] 291; HASWELL-NEXT: cmovew %si, %di # sched: [2:0.50] 292; HASWELL-NEXT: cmovnew %si, %di # sched: [2:0.50] 293; HASWELL-NEXT: cmovnew %si, %di # sched: [2:0.50] 294; HASWELL-NEXT: cmovbew %si, %di # sched: [3:0.75] 295; HASWELL-NEXT: cmovbew %si, %di # sched: [3:0.75] 296; HASWELL-NEXT: cmovaw %si, %di # sched: [3:0.75] 297; HASWELL-NEXT: cmovaw %si, %di # sched: [3:0.75] 298; HASWELL-NEXT: cmovsw %si, %di # sched: [2:0.50] 299; HASWELL-NEXT: cmovnsw %si, %di # sched: [2:0.50] 300; HASWELL-NEXT: cmovpw %si, %di # sched: [2:0.50] 301; HASWELL-NEXT: cmovpw %si, %di # sched: [2:0.50] 302; HASWELL-NEXT: cmovnpw %si, %di # sched: [2:0.50] 303; HASWELL-NEXT: cmovnpw %si, %di # sched: [2:0.50] 304; HASWELL-NEXT: cmovlw %si, %di # sched: [2:0.50] 305; HASWELL-NEXT: cmovlw %si, %di # sched: [2:0.50] 306; HASWELL-NEXT: cmovgew %si, %di # sched: [2:0.50] 307; HASWELL-NEXT: cmovgew %si, %di # sched: [2:0.50] 308; HASWELL-NEXT: cmovlew %si, %di # sched: [2:0.50] 309; HASWELL-NEXT: cmovlew %si, %di # sched: [2:0.50] 310; HASWELL-NEXT: cmovgw %si, %di # sched: [2:0.50] 311; HASWELL-NEXT: cmovgw %si, %di # sched: [2:0.50] 312; HASWELL-NEXT: cmovow (%rdx), %di # sched: [7:0.50] 313; HASWELL-NEXT: cmovnow (%rdx), %di # sched: [7:0.50] 314; HASWELL-NEXT: cmovbw (%rdx), %di # sched: [7:0.50] 315; HASWELL-NEXT: cmovbw (%rdx), %di # sched: [7:0.50] 316; HASWELL-NEXT: cmovbw (%rdx), %di # sched: [7:0.50] 317; HASWELL-NEXT: cmovaew (%rdx), %di # sched: [7:0.50] 318; HASWELL-NEXT: cmovaew (%rdx), %di # sched: [7:0.50] 319; HASWELL-NEXT: cmovaew (%rdx), %di # sched: [7:0.50] 320; HASWELL-NEXT: cmovew (%rdx), %di # sched: [7:0.50] 321; HASWELL-NEXT: cmovew (%rdx), %di # sched: [7:0.50] 322; HASWELL-NEXT: cmovnew (%rdx), %di # sched: [7:0.50] 323; HASWELL-NEXT: cmovnew (%rdx), %di # sched: [7:0.50] 324; HASWELL-NEXT: cmovbew (%rdx), %di # sched: [8:0.75] 325; HASWELL-NEXT: cmovbew (%rdx), %di # sched: [8:0.75] 326; HASWELL-NEXT: cmovaw (%rdx), %di # sched: [8:0.75] 327; HASWELL-NEXT: cmovaw (%rdx), %di # sched: [8:0.75] 328; HASWELL-NEXT: cmovsw (%rdx), %di # sched: [7:0.50] 329; HASWELL-NEXT: cmovnsw (%rdx), %di # sched: [7:0.50] 330; HASWELL-NEXT: cmovpw (%rdx), %di # sched: [7:0.50] 331; HASWELL-NEXT: cmovpw (%rdx), %di # sched: [7:0.50] 332; HASWELL-NEXT: cmovnpw (%rdx), %di # sched: [7:0.50] 333; HASWELL-NEXT: cmovnpw (%rdx), %di # sched: [7:0.50] 334; HASWELL-NEXT: cmovlw (%rdx), %di # sched: [7:0.50] 335; HASWELL-NEXT: cmovlw (%rdx), %di # sched: [7:0.50] 336; HASWELL-NEXT: cmovgew (%rdx), %di # sched: [7:0.50] 337; HASWELL-NEXT: cmovgew (%rdx), %di # sched: [7:0.50] 338; HASWELL-NEXT: cmovlew (%rdx), %di # sched: [7:0.50] 339; HASWELL-NEXT: cmovlew (%rdx), %di # sched: [7:0.50] 340; HASWELL-NEXT: cmovgw (%rdx), %di # sched: [7:0.50] 341; HASWELL-NEXT: cmovgw (%rdx), %di # sched: [7:0.50] 342; HASWELL-NEXT: #NO_APP 343; HASWELL-NEXT: retq # sched: [7:1.00] 344; 345; BROADWELL-LABEL: test_cmov_16: 346; BROADWELL: # %bb.0: 347; BROADWELL-NEXT: #APP 348; BROADWELL-NEXT: cmovow %si, %di # sched: [1:0.50] 349; BROADWELL-NEXT: cmovnow %si, %di # sched: [1:0.50] 350; BROADWELL-NEXT: cmovbw %si, %di # sched: [1:0.50] 351; BROADWELL-NEXT: cmovbw %si, %di # sched: [1:0.50] 352; BROADWELL-NEXT: cmovbw %si, %di # sched: [1:0.50] 353; BROADWELL-NEXT: cmovaew %si, %di # sched: [1:0.50] 354; BROADWELL-NEXT: cmovaew %si, %di # sched: [1:0.50] 355; BROADWELL-NEXT: cmovaew %si, %di # sched: [1:0.50] 356; BROADWELL-NEXT: cmovew %si, %di # sched: [1:0.50] 357; BROADWELL-NEXT: cmovew %si, %di # sched: [1:0.50] 358; BROADWELL-NEXT: cmovnew %si, %di # sched: [1:0.50] 359; BROADWELL-NEXT: cmovnew %si, %di # sched: [1:0.50] 360; BROADWELL-NEXT: cmovbew %si, %di # sched: [2:0.50] 361; BROADWELL-NEXT: cmovbew %si, %di # sched: [2:0.50] 362; BROADWELL-NEXT: cmovaw %si, %di # sched: [2:0.50] 363; BROADWELL-NEXT: cmovaw %si, %di # sched: [2:0.50] 364; BROADWELL-NEXT: cmovsw %si, %di # sched: [1:0.50] 365; BROADWELL-NEXT: cmovnsw %si, %di # sched: [1:0.50] 366; BROADWELL-NEXT: cmovpw %si, %di # sched: [1:0.50] 367; BROADWELL-NEXT: cmovpw %si, %di # sched: [1:0.50] 368; BROADWELL-NEXT: cmovnpw %si, %di # sched: [1:0.50] 369; BROADWELL-NEXT: cmovnpw %si, %di # sched: [1:0.50] 370; BROADWELL-NEXT: cmovlw %si, %di # sched: [1:0.50] 371; BROADWELL-NEXT: cmovlw %si, %di # sched: [1:0.50] 372; BROADWELL-NEXT: cmovgew %si, %di # sched: [1:0.50] 373; BROADWELL-NEXT: cmovgew %si, %di # sched: [1:0.50] 374; BROADWELL-NEXT: cmovlew %si, %di # sched: [1:0.50] 375; BROADWELL-NEXT: cmovlew %si, %di # sched: [1:0.50] 376; BROADWELL-NEXT: cmovgw %si, %di # sched: [1:0.50] 377; BROADWELL-NEXT: cmovgw %si, %di # sched: [1:0.50] 378; BROADWELL-NEXT: cmovow (%rdx), %di # sched: [6:0.50] 379; BROADWELL-NEXT: cmovnow (%rdx), %di # sched: [6:0.50] 380; BROADWELL-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 381; BROADWELL-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 382; BROADWELL-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 383; BROADWELL-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 384; BROADWELL-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 385; BROADWELL-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 386; BROADWELL-NEXT: cmovew (%rdx), %di # sched: [6:0.50] 387; BROADWELL-NEXT: cmovew (%rdx), %di # sched: [6:0.50] 388; BROADWELL-NEXT: cmovnew (%rdx), %di # sched: [6:0.50] 389; BROADWELL-NEXT: cmovnew (%rdx), %di # sched: [6:0.50] 390; BROADWELL-NEXT: cmovbew (%rdx), %di # sched: [7:0.50] 391; BROADWELL-NEXT: cmovbew (%rdx), %di # sched: [7:0.50] 392; BROADWELL-NEXT: cmovaw (%rdx), %di # sched: [7:0.50] 393; BROADWELL-NEXT: cmovaw (%rdx), %di # sched: [7:0.50] 394; BROADWELL-NEXT: cmovsw (%rdx), %di # sched: [6:0.50] 395; BROADWELL-NEXT: cmovnsw (%rdx), %di # sched: [6:0.50] 396; BROADWELL-NEXT: cmovpw (%rdx), %di # sched: [6:0.50] 397; BROADWELL-NEXT: cmovpw (%rdx), %di # sched: [6:0.50] 398; BROADWELL-NEXT: cmovnpw (%rdx), %di # sched: [6:0.50] 399; BROADWELL-NEXT: cmovnpw (%rdx), %di # sched: [6:0.50] 400; BROADWELL-NEXT: cmovlw (%rdx), %di # sched: [6:0.50] 401; BROADWELL-NEXT: cmovlw (%rdx), %di # sched: [6:0.50] 402; BROADWELL-NEXT: cmovgew (%rdx), %di # sched: [6:0.50] 403; BROADWELL-NEXT: cmovgew (%rdx), %di # sched: [6:0.50] 404; BROADWELL-NEXT: cmovlew (%rdx), %di # sched: [6:0.50] 405; BROADWELL-NEXT: cmovlew (%rdx), %di # sched: [6:0.50] 406; BROADWELL-NEXT: cmovgw (%rdx), %di # sched: [6:0.50] 407; BROADWELL-NEXT: cmovgw (%rdx), %di # sched: [6:0.50] 408; BROADWELL-NEXT: #NO_APP 409; BROADWELL-NEXT: retq # sched: [7:1.00] 410; 411; SKYLAKE-LABEL: test_cmov_16: 412; SKYLAKE: # %bb.0: 413; SKYLAKE-NEXT: #APP 414; SKYLAKE-NEXT: cmovow %si, %di # sched: [1:0.50] 415; SKYLAKE-NEXT: cmovnow %si, %di # sched: [1:0.50] 416; SKYLAKE-NEXT: cmovbw %si, %di # sched: [1:0.50] 417; SKYLAKE-NEXT: cmovbw %si, %di # sched: [1:0.50] 418; SKYLAKE-NEXT: cmovbw %si, %di # sched: [1:0.50] 419; SKYLAKE-NEXT: cmovaew %si, %di # sched: [1:0.50] 420; SKYLAKE-NEXT: cmovaew %si, %di # sched: [1:0.50] 421; SKYLAKE-NEXT: cmovaew %si, %di # sched: [1:0.50] 422; SKYLAKE-NEXT: cmovew %si, %di # sched: [1:0.50] 423; SKYLAKE-NEXT: cmovew %si, %di # sched: [1:0.50] 424; SKYLAKE-NEXT: cmovnew %si, %di # sched: [1:0.50] 425; SKYLAKE-NEXT: cmovnew %si, %di # sched: [1:0.50] 426; SKYLAKE-NEXT: cmovbew %si, %di # sched: [2:1.00] 427; SKYLAKE-NEXT: cmovbew %si, %di # sched: [2:1.00] 428; SKYLAKE-NEXT: cmovaw %si, %di # sched: [2:1.00] 429; SKYLAKE-NEXT: cmovaw %si, %di # sched: [2:1.00] 430; SKYLAKE-NEXT: cmovsw %si, %di # sched: [1:0.50] 431; SKYLAKE-NEXT: cmovnsw %si, %di # sched: [1:0.50] 432; SKYLAKE-NEXT: cmovpw %si, %di # sched: [1:0.50] 433; SKYLAKE-NEXT: cmovpw %si, %di # sched: [1:0.50] 434; SKYLAKE-NEXT: cmovnpw %si, %di # sched: [1:0.50] 435; SKYLAKE-NEXT: cmovnpw %si, %di # sched: [1:0.50] 436; SKYLAKE-NEXT: cmovlw %si, %di # sched: [1:0.50] 437; SKYLAKE-NEXT: cmovlw %si, %di # sched: [1:0.50] 438; SKYLAKE-NEXT: cmovgew %si, %di # sched: [1:0.50] 439; SKYLAKE-NEXT: cmovgew %si, %di # sched: [1:0.50] 440; SKYLAKE-NEXT: cmovlew %si, %di # sched: [1:0.50] 441; SKYLAKE-NEXT: cmovlew %si, %di # sched: [1:0.50] 442; SKYLAKE-NEXT: cmovgw %si, %di # sched: [1:0.50] 443; SKYLAKE-NEXT: cmovgw %si, %di # sched: [1:0.50] 444; SKYLAKE-NEXT: cmovow (%rdx), %di # sched: [6:0.50] 445; SKYLAKE-NEXT: cmovnow (%rdx), %di # sched: [6:0.50] 446; SKYLAKE-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 447; SKYLAKE-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 448; SKYLAKE-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 449; SKYLAKE-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 450; SKYLAKE-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 451; SKYLAKE-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 452; SKYLAKE-NEXT: cmovew (%rdx), %di # sched: [6:0.50] 453; SKYLAKE-NEXT: cmovew (%rdx), %di # sched: [6:0.50] 454; SKYLAKE-NEXT: cmovnew (%rdx), %di # sched: [6:0.50] 455; SKYLAKE-NEXT: cmovnew (%rdx), %di # sched: [6:0.50] 456; SKYLAKE-NEXT: cmovbew (%rdx), %di # sched: [7:1.00] 457; SKYLAKE-NEXT: cmovbew (%rdx), %di # sched: [7:1.00] 458; SKYLAKE-NEXT: cmovaw (%rdx), %di # sched: [7:1.00] 459; SKYLAKE-NEXT: cmovaw (%rdx), %di # sched: [7:1.00] 460; SKYLAKE-NEXT: cmovsw (%rdx), %di # sched: [6:0.50] 461; SKYLAKE-NEXT: cmovnsw (%rdx), %di # sched: [6:0.50] 462; SKYLAKE-NEXT: cmovpw (%rdx), %di # sched: [6:0.50] 463; SKYLAKE-NEXT: cmovpw (%rdx), %di # sched: [6:0.50] 464; SKYLAKE-NEXT: cmovnpw (%rdx), %di # sched: [6:0.50] 465; SKYLAKE-NEXT: cmovnpw (%rdx), %di # sched: [6:0.50] 466; SKYLAKE-NEXT: cmovlw (%rdx), %di # sched: [6:0.50] 467; SKYLAKE-NEXT: cmovlw (%rdx), %di # sched: [6:0.50] 468; SKYLAKE-NEXT: cmovgew (%rdx), %di # sched: [6:0.50] 469; SKYLAKE-NEXT: cmovgew (%rdx), %di # sched: [6:0.50] 470; SKYLAKE-NEXT: cmovlew (%rdx), %di # sched: [6:0.50] 471; SKYLAKE-NEXT: cmovlew (%rdx), %di # sched: [6:0.50] 472; SKYLAKE-NEXT: cmovgw (%rdx), %di # sched: [6:0.50] 473; SKYLAKE-NEXT: cmovgw (%rdx), %di # sched: [6:0.50] 474; SKYLAKE-NEXT: #NO_APP 475; SKYLAKE-NEXT: retq # sched: [7:1.00] 476; 477; SKX-LABEL: test_cmov_16: 478; SKX: # %bb.0: 479; SKX-NEXT: #APP 480; SKX-NEXT: cmovow %si, %di # sched: [1:0.50] 481; SKX-NEXT: cmovnow %si, %di # sched: [1:0.50] 482; SKX-NEXT: cmovbw %si, %di # sched: [1:0.50] 483; SKX-NEXT: cmovbw %si, %di # sched: [1:0.50] 484; SKX-NEXT: cmovbw %si, %di # sched: [1:0.50] 485; SKX-NEXT: cmovaew %si, %di # sched: [1:0.50] 486; SKX-NEXT: cmovaew %si, %di # sched: [1:0.50] 487; SKX-NEXT: cmovaew %si, %di # sched: [1:0.50] 488; SKX-NEXT: cmovew %si, %di # sched: [1:0.50] 489; SKX-NEXT: cmovew %si, %di # sched: [1:0.50] 490; SKX-NEXT: cmovnew %si, %di # sched: [1:0.50] 491; SKX-NEXT: cmovnew %si, %di # sched: [1:0.50] 492; SKX-NEXT: cmovbew %si, %di # sched: [2:1.00] 493; SKX-NEXT: cmovbew %si, %di # sched: [2:1.00] 494; SKX-NEXT: cmovaw %si, %di # sched: [2:1.00] 495; SKX-NEXT: cmovaw %si, %di # sched: [2:1.00] 496; SKX-NEXT: cmovsw %si, %di # sched: [1:0.50] 497; SKX-NEXT: cmovnsw %si, %di # sched: [1:0.50] 498; SKX-NEXT: cmovpw %si, %di # sched: [1:0.50] 499; SKX-NEXT: cmovpw %si, %di # sched: [1:0.50] 500; SKX-NEXT: cmovnpw %si, %di # sched: [1:0.50] 501; SKX-NEXT: cmovnpw %si, %di # sched: [1:0.50] 502; SKX-NEXT: cmovlw %si, %di # sched: [1:0.50] 503; SKX-NEXT: cmovlw %si, %di # sched: [1:0.50] 504; SKX-NEXT: cmovgew %si, %di # sched: [1:0.50] 505; SKX-NEXT: cmovgew %si, %di # sched: [1:0.50] 506; SKX-NEXT: cmovlew %si, %di # sched: [1:0.50] 507; SKX-NEXT: cmovlew %si, %di # sched: [1:0.50] 508; SKX-NEXT: cmovgw %si, %di # sched: [1:0.50] 509; SKX-NEXT: cmovgw %si, %di # sched: [1:0.50] 510; SKX-NEXT: cmovow (%rdx), %di # sched: [6:0.50] 511; SKX-NEXT: cmovnow (%rdx), %di # sched: [6:0.50] 512; SKX-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 513; SKX-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 514; SKX-NEXT: cmovbw (%rdx), %di # sched: [6:0.50] 515; SKX-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 516; SKX-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 517; SKX-NEXT: cmovaew (%rdx), %di # sched: [6:0.50] 518; SKX-NEXT: cmovew (%rdx), %di # sched: [6:0.50] 519; SKX-NEXT: cmovew (%rdx), %di # sched: [6:0.50] 520; SKX-NEXT: cmovnew (%rdx), %di # sched: [6:0.50] 521; SKX-NEXT: cmovnew (%rdx), %di # sched: [6:0.50] 522; SKX-NEXT: cmovbew (%rdx), %di # sched: [7:1.00] 523; SKX-NEXT: cmovbew (%rdx), %di # sched: [7:1.00] 524; SKX-NEXT: cmovaw (%rdx), %di # sched: [7:1.00] 525; SKX-NEXT: cmovaw (%rdx), %di # sched: [7:1.00] 526; SKX-NEXT: cmovsw (%rdx), %di # sched: [6:0.50] 527; SKX-NEXT: cmovnsw (%rdx), %di # sched: [6:0.50] 528; SKX-NEXT: cmovpw (%rdx), %di # sched: [6:0.50] 529; SKX-NEXT: cmovpw (%rdx), %di # sched: [6:0.50] 530; SKX-NEXT: cmovnpw (%rdx), %di # sched: [6:0.50] 531; SKX-NEXT: cmovnpw (%rdx), %di # sched: [6:0.50] 532; SKX-NEXT: cmovlw (%rdx), %di # sched: [6:0.50] 533; SKX-NEXT: cmovlw (%rdx), %di # sched: [6:0.50] 534; SKX-NEXT: cmovgew (%rdx), %di # sched: [6:0.50] 535; SKX-NEXT: cmovgew (%rdx), %di # sched: [6:0.50] 536; SKX-NEXT: cmovlew (%rdx), %di # sched: [6:0.50] 537; SKX-NEXT: cmovlew (%rdx), %di # sched: [6:0.50] 538; SKX-NEXT: cmovgw (%rdx), %di # sched: [6:0.50] 539; SKX-NEXT: cmovgw (%rdx), %di # sched: [6:0.50] 540; SKX-NEXT: #NO_APP 541; SKX-NEXT: retq # sched: [7:1.00] 542; 543; BTVER2-LABEL: test_cmov_16: 544; BTVER2: # %bb.0: 545; BTVER2-NEXT: #APP 546; BTVER2-NEXT: cmovow %si, %di # sched: [1:0.50] 547; BTVER2-NEXT: cmovnow %si, %di # sched: [1:0.50] 548; BTVER2-NEXT: cmovbw %si, %di # sched: [1:0.50] 549; BTVER2-NEXT: cmovbw %si, %di # sched: [1:0.50] 550; BTVER2-NEXT: cmovbw %si, %di # sched: [1:0.50] 551; BTVER2-NEXT: cmovaew %si, %di # sched: [1:0.50] 552; BTVER2-NEXT: cmovaew %si, %di # sched: [1:0.50] 553; BTVER2-NEXT: cmovaew %si, %di # sched: [1:0.50] 554; BTVER2-NEXT: cmovew %si, %di # sched: [1:0.50] 555; BTVER2-NEXT: cmovew %si, %di # sched: [1:0.50] 556; BTVER2-NEXT: cmovnew %si, %di # sched: [1:0.50] 557; BTVER2-NEXT: cmovnew %si, %di # sched: [1:0.50] 558; BTVER2-NEXT: cmovbew %si, %di # sched: [1:0.50] 559; BTVER2-NEXT: cmovbew %si, %di # sched: [1:0.50] 560; BTVER2-NEXT: cmovaw %si, %di # sched: [1:0.50] 561; BTVER2-NEXT: cmovaw %si, %di # sched: [1:0.50] 562; BTVER2-NEXT: cmovsw %si, %di # sched: [1:0.50] 563; BTVER2-NEXT: cmovnsw %si, %di # sched: [1:0.50] 564; BTVER2-NEXT: cmovpw %si, %di # sched: [1:0.50] 565; BTVER2-NEXT: cmovpw %si, %di # sched: [1:0.50] 566; BTVER2-NEXT: cmovnpw %si, %di # sched: [1:0.50] 567; BTVER2-NEXT: cmovnpw %si, %di # sched: [1:0.50] 568; BTVER2-NEXT: cmovlw %si, %di # sched: [1:0.50] 569; BTVER2-NEXT: cmovlw %si, %di # sched: [1:0.50] 570; BTVER2-NEXT: cmovgew %si, %di # sched: [1:0.50] 571; BTVER2-NEXT: cmovgew %si, %di # sched: [1:0.50] 572; BTVER2-NEXT: cmovlew %si, %di # sched: [1:0.50] 573; BTVER2-NEXT: cmovlew %si, %di # sched: [1:0.50] 574; BTVER2-NEXT: cmovgw %si, %di # sched: [1:0.50] 575; BTVER2-NEXT: cmovgw %si, %di # sched: [1:0.50] 576; BTVER2-NEXT: cmovow (%rdx), %di # sched: [4:1.00] 577; BTVER2-NEXT: cmovnow (%rdx), %di # sched: [4:1.00] 578; BTVER2-NEXT: cmovbw (%rdx), %di # sched: [4:1.00] 579; BTVER2-NEXT: cmovbw (%rdx), %di # sched: [4:1.00] 580; BTVER2-NEXT: cmovbw (%rdx), %di # sched: [4:1.00] 581; BTVER2-NEXT: cmovaew (%rdx), %di # sched: [4:1.00] 582; BTVER2-NEXT: cmovaew (%rdx), %di # sched: [4:1.00] 583; BTVER2-NEXT: cmovaew (%rdx), %di # sched: [4:1.00] 584; BTVER2-NEXT: cmovew (%rdx), %di # sched: [4:1.00] 585; BTVER2-NEXT: cmovew (%rdx), %di # sched: [4:1.00] 586; BTVER2-NEXT: cmovnew (%rdx), %di # sched: [4:1.00] 587; BTVER2-NEXT: cmovnew (%rdx), %di # sched: [4:1.00] 588; BTVER2-NEXT: cmovbew (%rdx), %di # sched: [4:1.00] 589; BTVER2-NEXT: cmovbew (%rdx), %di # sched: [4:1.00] 590; BTVER2-NEXT: cmovaw (%rdx), %di # sched: [4:1.00] 591; BTVER2-NEXT: cmovaw (%rdx), %di # sched: [4:1.00] 592; BTVER2-NEXT: cmovsw (%rdx), %di # sched: [4:1.00] 593; BTVER2-NEXT: cmovnsw (%rdx), %di # sched: [4:1.00] 594; BTVER2-NEXT: cmovpw (%rdx), %di # sched: [4:1.00] 595; BTVER2-NEXT: cmovpw (%rdx), %di # sched: [4:1.00] 596; BTVER2-NEXT: cmovnpw (%rdx), %di # sched: [4:1.00] 597; BTVER2-NEXT: cmovnpw (%rdx), %di # sched: [4:1.00] 598; BTVER2-NEXT: cmovlw (%rdx), %di # sched: [4:1.00] 599; BTVER2-NEXT: cmovlw (%rdx), %di # sched: [4:1.00] 600; BTVER2-NEXT: cmovgew (%rdx), %di # sched: [4:1.00] 601; BTVER2-NEXT: cmovgew (%rdx), %di # sched: [4:1.00] 602; BTVER2-NEXT: cmovlew (%rdx), %di # sched: [4:1.00] 603; BTVER2-NEXT: cmovlew (%rdx), %di # sched: [4:1.00] 604; BTVER2-NEXT: cmovgw (%rdx), %di # sched: [4:1.00] 605; BTVER2-NEXT: cmovgw (%rdx), %di # sched: [4:1.00] 606; BTVER2-NEXT: #NO_APP 607; BTVER2-NEXT: retq # sched: [4:1.00] 608; 609; ZNVER1-LABEL: test_cmov_16: 610; ZNVER1: # %bb.0: 611; ZNVER1-NEXT: #APP 612; ZNVER1-NEXT: cmovow %si, %di # sched: [1:0.25] 613; ZNVER1-NEXT: cmovnow %si, %di # sched: [1:0.25] 614; ZNVER1-NEXT: cmovbw %si, %di # sched: [1:0.25] 615; ZNVER1-NEXT: cmovbw %si, %di # sched: [1:0.25] 616; ZNVER1-NEXT: cmovbw %si, %di # sched: [1:0.25] 617; ZNVER1-NEXT: cmovaew %si, %di # sched: [1:0.25] 618; ZNVER1-NEXT: cmovaew %si, %di # sched: [1:0.25] 619; ZNVER1-NEXT: cmovaew %si, %di # sched: [1:0.25] 620; ZNVER1-NEXT: cmovew %si, %di # sched: [1:0.25] 621; ZNVER1-NEXT: cmovew %si, %di # sched: [1:0.25] 622; ZNVER1-NEXT: cmovnew %si, %di # sched: [1:0.25] 623; ZNVER1-NEXT: cmovnew %si, %di # sched: [1:0.25] 624; ZNVER1-NEXT: cmovbew %si, %di # sched: [1:0.25] 625; ZNVER1-NEXT: cmovbew %si, %di # sched: [1:0.25] 626; ZNVER1-NEXT: cmovaw %si, %di # sched: [1:0.25] 627; ZNVER1-NEXT: cmovaw %si, %di # sched: [1:0.25] 628; ZNVER1-NEXT: cmovsw %si, %di # sched: [1:0.25] 629; ZNVER1-NEXT: cmovnsw %si, %di # sched: [1:0.25] 630; ZNVER1-NEXT: cmovpw %si, %di # sched: [1:0.25] 631; ZNVER1-NEXT: cmovpw %si, %di # sched: [1:0.25] 632; ZNVER1-NEXT: cmovnpw %si, %di # sched: [1:0.25] 633; ZNVER1-NEXT: cmovnpw %si, %di # sched: [1:0.25] 634; ZNVER1-NEXT: cmovlw %si, %di # sched: [1:0.25] 635; ZNVER1-NEXT: cmovlw %si, %di # sched: [1:0.25] 636; ZNVER1-NEXT: cmovgew %si, %di # sched: [1:0.25] 637; ZNVER1-NEXT: cmovgew %si, %di # sched: [1:0.25] 638; ZNVER1-NEXT: cmovlew %si, %di # sched: [1:0.25] 639; ZNVER1-NEXT: cmovlew %si, %di # sched: [1:0.25] 640; ZNVER1-NEXT: cmovgw %si, %di # sched: [1:0.25] 641; ZNVER1-NEXT: cmovgw %si, %di # sched: [1:0.25] 642; ZNVER1-NEXT: cmovow (%rdx), %di # sched: [5:0.50] 643; ZNVER1-NEXT: cmovnow (%rdx), %di # sched: [5:0.50] 644; ZNVER1-NEXT: cmovbw (%rdx), %di # sched: [5:0.50] 645; ZNVER1-NEXT: cmovbw (%rdx), %di # sched: [5:0.50] 646; ZNVER1-NEXT: cmovbw (%rdx), %di # sched: [5:0.50] 647; ZNVER1-NEXT: cmovaew (%rdx), %di # sched: [5:0.50] 648; ZNVER1-NEXT: cmovaew (%rdx), %di # sched: [5:0.50] 649; ZNVER1-NEXT: cmovaew (%rdx), %di # sched: [5:0.50] 650; ZNVER1-NEXT: cmovew (%rdx), %di # sched: [5:0.50] 651; ZNVER1-NEXT: cmovew (%rdx), %di # sched: [5:0.50] 652; ZNVER1-NEXT: cmovnew (%rdx), %di # sched: [5:0.50] 653; ZNVER1-NEXT: cmovnew (%rdx), %di # sched: [5:0.50] 654; ZNVER1-NEXT: cmovbew (%rdx), %di # sched: [5:0.50] 655; ZNVER1-NEXT: cmovbew (%rdx), %di # sched: [5:0.50] 656; ZNVER1-NEXT: cmovaw (%rdx), %di # sched: [5:0.50] 657; ZNVER1-NEXT: cmovaw (%rdx), %di # sched: [5:0.50] 658; ZNVER1-NEXT: cmovsw (%rdx), %di # sched: [5:0.50] 659; ZNVER1-NEXT: cmovnsw (%rdx), %di # sched: [5:0.50] 660; ZNVER1-NEXT: cmovpw (%rdx), %di # sched: [5:0.50] 661; ZNVER1-NEXT: cmovpw (%rdx), %di # sched: [5:0.50] 662; ZNVER1-NEXT: cmovnpw (%rdx), %di # sched: [5:0.50] 663; ZNVER1-NEXT: cmovnpw (%rdx), %di # sched: [5:0.50] 664; ZNVER1-NEXT: cmovlw (%rdx), %di # sched: [5:0.50] 665; ZNVER1-NEXT: cmovlw (%rdx), %di # sched: [5:0.50] 666; ZNVER1-NEXT: cmovgew (%rdx), %di # sched: [5:0.50] 667; ZNVER1-NEXT: cmovgew (%rdx), %di # sched: [5:0.50] 668; ZNVER1-NEXT: cmovlew (%rdx), %di # sched: [5:0.50] 669; ZNVER1-NEXT: cmovlew (%rdx), %di # sched: [5:0.50] 670; ZNVER1-NEXT: cmovgw (%rdx), %di # sched: [5:0.50] 671; ZNVER1-NEXT: cmovgw (%rdx), %di # sched: [5:0.50] 672; ZNVER1-NEXT: #NO_APP 673; ZNVER1-NEXT: retq # sched: [1:0.50] 674 call void asm sideeffect "cmovow $1, $0 \0A\09 cmovnow $1, $0 \0A\09 cmovbw $1, $0 \0A\09 cmovcw $1, $0 \0A\09 cmovnaew $1, $0 \0A\09 cmovnbw $1, $0 \0A\09 cmovncw $1, $0 \0A\09 cmovaew $1, $0 \0A\09 cmovzw $1, $0 \0A\09 cmovew $1, $0 \0A\09 cmovnzw $1, $0 \0A\09 cmovnew $1, $0 \0A\09 cmovbew $1, $0 \0A\09 cmovnaw $1, $0 \0A\09 cmovnbew $1, $0 \0A\09 cmovaw $1, $0 \0A\09 cmovsw $1, $0 \0A\09 cmovnsw $1, $0 \0A\09 cmovpw $1, $0 \0A\09 cmovpew $1, $0 \0A\09 cmovnpw $1, $0 \0A\09 cmovpow $1, $0 \0A\09 cmovlw $1, $0 \0A\09 cmovngew $1, $0 \0A\09 cmovnlw $1, $0 \0A\09 cmovgew $1, $0 \0A\09 cmovlew $1, $0 \0A\09 cmovngw $1, $0 \0A\09 cmovnlew $1, $0 \0A\09 cmovgw $1, $0 \0A\09 cmovow $2, $0 \0A\09 cmovnow $2, $0 \0A\09 cmovbw $2, $0 \0A\09 cmovcw $2, $0 \0A\09 cmovnaew $2, $0 \0A\09 cmovnbw $2, $0 \0A\09 cmovncw $2, $0 \0A\09 cmovaew $2, $0 \0A\09 cmovzw $2, $0 \0A\09 cmovew $2, $0 \0A\09 cmovnzw $2, $0 \0A\09 cmovnew $2, $0 \0A\09 cmovbew $2, $0 \0A\09 cmovnaw $2, $0 \0A\09 cmovnbew $2, $0 \0A\09 cmovaw $2, $0 \0A\09 cmovsw $2, $0 \0A\09 cmovnsw $2, $0 \0A\09 cmovpw $2, $0 \0A\09 cmovpew $2, $0 \0A\09 cmovnpw $2, $0 \0A\09 cmovpow $2, $0 \0A\09 cmovlw $2, $0 \0A\09 cmovngew $2, $0 \0A\09 cmovnlw $2, $0 \0A\09 cmovgew $2, $0 \0A\09 cmovlew $2, $0 \0A\09 cmovngw $2, $0 \0A\09 cmovnlew $2, $0 \0A\09 cmovgw $2, $0", "r,r,*m"(i16 %a0, i16 %a1, i16 *%a2) 675 ret void 676} 677 678define void @test_cmov_32(i32 %a0, i32 %a1, i32 *%a2) optsize { 679; GENERIC-LABEL: test_cmov_32: 680; GENERIC: # %bb.0: 681; GENERIC-NEXT: #APP 682; GENERIC-NEXT: cmovol %esi, %edi # sched: [2:0.67] 683; GENERIC-NEXT: cmovnol %esi, %edi # sched: [2:0.67] 684; GENERIC-NEXT: cmovbl %esi, %edi # sched: [2:0.67] 685; GENERIC-NEXT: cmovbl %esi, %edi # sched: [2:0.67] 686; GENERIC-NEXT: cmovbl %esi, %edi # sched: [2:0.67] 687; GENERIC-NEXT: cmovael %esi, %edi # sched: [2:0.67] 688; GENERIC-NEXT: cmovael %esi, %edi # sched: [2:0.67] 689; GENERIC-NEXT: cmovael %esi, %edi # sched: [2:0.67] 690; GENERIC-NEXT: cmovel %esi, %edi # sched: [2:0.67] 691; GENERIC-NEXT: cmovel %esi, %edi # sched: [2:0.67] 692; GENERIC-NEXT: cmovnel %esi, %edi # sched: [2:0.67] 693; GENERIC-NEXT: cmovnel %esi, %edi # sched: [2:0.67] 694; GENERIC-NEXT: cmovbel %esi, %edi # sched: [3:1.00] 695; GENERIC-NEXT: cmovbel %esi, %edi # sched: [3:1.00] 696; GENERIC-NEXT: cmoval %esi, %edi # sched: [3:1.00] 697; GENERIC-NEXT: cmoval %esi, %edi # sched: [3:1.00] 698; GENERIC-NEXT: cmovsl %esi, %edi # sched: [2:0.67] 699; GENERIC-NEXT: cmovnsl %esi, %edi # sched: [2:0.67] 700; GENERIC-NEXT: cmovpl %esi, %edi # sched: [2:0.67] 701; GENERIC-NEXT: cmovpl %esi, %edi # sched: [2:0.67] 702; GENERIC-NEXT: cmovnpl %esi, %edi # sched: [2:0.67] 703; GENERIC-NEXT: cmovnpl %esi, %edi # sched: [2:0.67] 704; GENERIC-NEXT: cmovll %esi, %edi # sched: [2:0.67] 705; GENERIC-NEXT: cmovll %esi, %edi # sched: [2:0.67] 706; GENERIC-NEXT: cmovgel %esi, %edi # sched: [2:0.67] 707; GENERIC-NEXT: cmovgel %esi, %edi # sched: [2:0.67] 708; GENERIC-NEXT: cmovlel %esi, %edi # sched: [2:0.67] 709; GENERIC-NEXT: cmovlel %esi, %edi # sched: [2:0.67] 710; GENERIC-NEXT: cmovgl %esi, %edi # sched: [2:0.67] 711; GENERIC-NEXT: cmovgl %esi, %edi # sched: [2:0.67] 712; GENERIC-NEXT: cmovol (%rdx), %edi # sched: [7:0.67] 713; GENERIC-NEXT: cmovnol (%rdx), %edi # sched: [7:0.67] 714; GENERIC-NEXT: cmovbl (%rdx), %edi # sched: [7:0.67] 715; GENERIC-NEXT: cmovbl (%rdx), %edi # sched: [7:0.67] 716; GENERIC-NEXT: cmovbl (%rdx), %edi # sched: [7:0.67] 717; GENERIC-NEXT: cmovael (%rdx), %edi # sched: [7:0.67] 718; GENERIC-NEXT: cmovael (%rdx), %edi # sched: [7:0.67] 719; GENERIC-NEXT: cmovael (%rdx), %edi # sched: [7:0.67] 720; GENERIC-NEXT: cmovel (%rdx), %edi # sched: [7:0.67] 721; GENERIC-NEXT: cmovel (%rdx), %edi # sched: [7:0.67] 722; GENERIC-NEXT: cmovnel (%rdx), %edi # sched: [7:0.67] 723; GENERIC-NEXT: cmovnel (%rdx), %edi # sched: [7:0.67] 724; GENERIC-NEXT: cmovbel (%rdx), %edi # sched: [8:1.00] 725; GENERIC-NEXT: cmovbel (%rdx), %edi # sched: [8:1.00] 726; GENERIC-NEXT: cmoval (%rdx), %edi # sched: [8:1.00] 727; GENERIC-NEXT: cmoval (%rdx), %edi # sched: [8:1.00] 728; GENERIC-NEXT: cmovsl (%rdx), %edi # sched: [7:0.67] 729; GENERIC-NEXT: cmovnsl (%rdx), %edi # sched: [7:0.67] 730; GENERIC-NEXT: cmovpl (%rdx), %edi # sched: [7:0.67] 731; GENERIC-NEXT: cmovpl (%rdx), %edi # sched: [7:0.67] 732; GENERIC-NEXT: cmovnpl (%rdx), %edi # sched: [7:0.67] 733; GENERIC-NEXT: cmovnpl (%rdx), %edi # sched: [7:0.67] 734; GENERIC-NEXT: cmovll (%rdx), %edi # sched: [7:0.67] 735; GENERIC-NEXT: cmovll (%rdx), %edi # sched: [7:0.67] 736; GENERIC-NEXT: cmovgel (%rdx), %edi # sched: [7:0.67] 737; GENERIC-NEXT: cmovgel (%rdx), %edi # sched: [7:0.67] 738; GENERIC-NEXT: cmovlel (%rdx), %edi # sched: [7:0.67] 739; GENERIC-NEXT: cmovlel (%rdx), %edi # sched: [7:0.67] 740; GENERIC-NEXT: cmovgl (%rdx), %edi # sched: [7:0.67] 741; GENERIC-NEXT: cmovgl (%rdx), %edi # sched: [7:0.67] 742; GENERIC-NEXT: #NO_APP 743; GENERIC-NEXT: retq # sched: [1:1.00] 744; 745; ATOM-LABEL: test_cmov_32: 746; ATOM: # %bb.0: 747; ATOM-NEXT: #APP 748; ATOM-NEXT: cmovol %esi, %edi # sched: [1:0.50] 749; ATOM-NEXT: cmovnol %esi, %edi # sched: [1:0.50] 750; ATOM-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 751; ATOM-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 752; ATOM-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 753; ATOM-NEXT: cmovael %esi, %edi # sched: [1:0.50] 754; ATOM-NEXT: cmovael %esi, %edi # sched: [1:0.50] 755; ATOM-NEXT: cmovael %esi, %edi # sched: [1:0.50] 756; ATOM-NEXT: cmovel %esi, %edi # sched: [1:0.50] 757; ATOM-NEXT: cmovel %esi, %edi # sched: [1:0.50] 758; ATOM-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 759; ATOM-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 760; ATOM-NEXT: cmovbel %esi, %edi # sched: [1:0.50] 761; ATOM-NEXT: cmovbel %esi, %edi # sched: [1:0.50] 762; ATOM-NEXT: cmoval %esi, %edi # sched: [1:0.50] 763; ATOM-NEXT: cmoval %esi, %edi # sched: [1:0.50] 764; ATOM-NEXT: cmovsl %esi, %edi # sched: [1:0.50] 765; ATOM-NEXT: cmovnsl %esi, %edi # sched: [1:0.50] 766; ATOM-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 767; ATOM-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 768; ATOM-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 769; ATOM-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 770; ATOM-NEXT: cmovll %esi, %edi # sched: [1:0.50] 771; ATOM-NEXT: cmovll %esi, %edi # sched: [1:0.50] 772; ATOM-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 773; ATOM-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 774; ATOM-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 775; ATOM-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 776; ATOM-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 777; ATOM-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 778; ATOM-NEXT: cmovol (%rdx), %edi # sched: [1:1.00] 779; ATOM-NEXT: cmovnol (%rdx), %edi # sched: [1:1.00] 780; ATOM-NEXT: cmovbl (%rdx), %edi # sched: [1:1.00] 781; ATOM-NEXT: cmovbl (%rdx), %edi # sched: [1:1.00] 782; ATOM-NEXT: cmovbl (%rdx), %edi # sched: [1:1.00] 783; ATOM-NEXT: cmovael (%rdx), %edi # sched: [1:1.00] 784; ATOM-NEXT: cmovael (%rdx), %edi # sched: [1:1.00] 785; ATOM-NEXT: cmovael (%rdx), %edi # sched: [1:1.00] 786; ATOM-NEXT: cmovel (%rdx), %edi # sched: [1:1.00] 787; ATOM-NEXT: cmovel (%rdx), %edi # sched: [1:1.00] 788; ATOM-NEXT: cmovnel (%rdx), %edi # sched: [1:1.00] 789; ATOM-NEXT: cmovnel (%rdx), %edi # sched: [1:1.00] 790; ATOM-NEXT: cmovbel (%rdx), %edi # sched: [1:1.00] 791; ATOM-NEXT: cmovbel (%rdx), %edi # sched: [1:1.00] 792; ATOM-NEXT: cmoval (%rdx), %edi # sched: [1:1.00] 793; ATOM-NEXT: cmoval (%rdx), %edi # sched: [1:1.00] 794; ATOM-NEXT: cmovsl (%rdx), %edi # sched: [1:1.00] 795; ATOM-NEXT: cmovnsl (%rdx), %edi # sched: [1:1.00] 796; ATOM-NEXT: cmovpl (%rdx), %edi # sched: [1:1.00] 797; ATOM-NEXT: cmovpl (%rdx), %edi # sched: [1:1.00] 798; ATOM-NEXT: cmovnpl (%rdx), %edi # sched: [1:1.00] 799; ATOM-NEXT: cmovnpl (%rdx), %edi # sched: [1:1.00] 800; ATOM-NEXT: cmovll (%rdx), %edi # sched: [1:1.00] 801; ATOM-NEXT: cmovll (%rdx), %edi # sched: [1:1.00] 802; ATOM-NEXT: cmovgel (%rdx), %edi # sched: [1:1.00] 803; ATOM-NEXT: cmovgel (%rdx), %edi # sched: [1:1.00] 804; ATOM-NEXT: cmovlel (%rdx), %edi # sched: [1:1.00] 805; ATOM-NEXT: cmovlel (%rdx), %edi # sched: [1:1.00] 806; ATOM-NEXT: cmovgl (%rdx), %edi # sched: [1:1.00] 807; ATOM-NEXT: cmovgl (%rdx), %edi # sched: [1:1.00] 808; ATOM-NEXT: #NO_APP 809; ATOM-NEXT: retq # sched: [79:39.50] 810; 811; SLM-LABEL: test_cmov_32: 812; SLM: # %bb.0: 813; SLM-NEXT: #APP 814; SLM-NEXT: cmovol %esi, %edi # sched: [2:1.00] 815; SLM-NEXT: cmovnol %esi, %edi # sched: [2:1.00] 816; SLM-NEXT: cmovbl %esi, %edi # sched: [2:1.00] 817; SLM-NEXT: cmovbl %esi, %edi # sched: [2:1.00] 818; SLM-NEXT: cmovbl %esi, %edi # sched: [2:1.00] 819; SLM-NEXT: cmovael %esi, %edi # sched: [2:1.00] 820; SLM-NEXT: cmovael %esi, %edi # sched: [2:1.00] 821; SLM-NEXT: cmovael %esi, %edi # sched: [2:1.00] 822; SLM-NEXT: cmovel %esi, %edi # sched: [2:1.00] 823; SLM-NEXT: cmovel %esi, %edi # sched: [2:1.00] 824; SLM-NEXT: cmovnel %esi, %edi # sched: [2:1.00] 825; SLM-NEXT: cmovnel %esi, %edi # sched: [2:1.00] 826; SLM-NEXT: cmovbel %esi, %edi # sched: [2:1.00] 827; SLM-NEXT: cmovbel %esi, %edi # sched: [2:1.00] 828; SLM-NEXT: cmoval %esi, %edi # sched: [2:1.00] 829; SLM-NEXT: cmoval %esi, %edi # sched: [2:1.00] 830; SLM-NEXT: cmovsl %esi, %edi # sched: [2:1.00] 831; SLM-NEXT: cmovnsl %esi, %edi # sched: [2:1.00] 832; SLM-NEXT: cmovpl %esi, %edi # sched: [2:1.00] 833; SLM-NEXT: cmovpl %esi, %edi # sched: [2:1.00] 834; SLM-NEXT: cmovnpl %esi, %edi # sched: [2:1.00] 835; SLM-NEXT: cmovnpl %esi, %edi # sched: [2:1.00] 836; SLM-NEXT: cmovll %esi, %edi # sched: [2:1.00] 837; SLM-NEXT: cmovll %esi, %edi # sched: [2:1.00] 838; SLM-NEXT: cmovgel %esi, %edi # sched: [2:1.00] 839; SLM-NEXT: cmovgel %esi, %edi # sched: [2:1.00] 840; SLM-NEXT: cmovlel %esi, %edi # sched: [2:1.00] 841; SLM-NEXT: cmovlel %esi, %edi # sched: [2:1.00] 842; SLM-NEXT: cmovgl %esi, %edi # sched: [2:1.00] 843; SLM-NEXT: cmovgl %esi, %edi # sched: [2:1.00] 844; SLM-NEXT: cmovol (%rdx), %edi # sched: [5:1.00] 845; SLM-NEXT: cmovnol (%rdx), %edi # sched: [5:1.00] 846; SLM-NEXT: cmovbl (%rdx), %edi # sched: [5:1.00] 847; SLM-NEXT: cmovbl (%rdx), %edi # sched: [5:1.00] 848; SLM-NEXT: cmovbl (%rdx), %edi # sched: [5:1.00] 849; SLM-NEXT: cmovael (%rdx), %edi # sched: [5:1.00] 850; SLM-NEXT: cmovael (%rdx), %edi # sched: [5:1.00] 851; SLM-NEXT: cmovael (%rdx), %edi # sched: [5:1.00] 852; SLM-NEXT: cmovel (%rdx), %edi # sched: [5:1.00] 853; SLM-NEXT: cmovel (%rdx), %edi # sched: [5:1.00] 854; SLM-NEXT: cmovnel (%rdx), %edi # sched: [5:1.00] 855; SLM-NEXT: cmovnel (%rdx), %edi # sched: [5:1.00] 856; SLM-NEXT: cmovbel (%rdx), %edi # sched: [5:1.00] 857; SLM-NEXT: cmovbel (%rdx), %edi # sched: [5:1.00] 858; SLM-NEXT: cmoval (%rdx), %edi # sched: [5:1.00] 859; SLM-NEXT: cmoval (%rdx), %edi # sched: [5:1.00] 860; SLM-NEXT: cmovsl (%rdx), %edi # sched: [5:1.00] 861; SLM-NEXT: cmovnsl (%rdx), %edi # sched: [5:1.00] 862; SLM-NEXT: cmovpl (%rdx), %edi # sched: [5:1.00] 863; SLM-NEXT: cmovpl (%rdx), %edi # sched: [5:1.00] 864; SLM-NEXT: cmovnpl (%rdx), %edi # sched: [5:1.00] 865; SLM-NEXT: cmovnpl (%rdx), %edi # sched: [5:1.00] 866; SLM-NEXT: cmovll (%rdx), %edi # sched: [5:1.00] 867; SLM-NEXT: cmovll (%rdx), %edi # sched: [5:1.00] 868; SLM-NEXT: cmovgel (%rdx), %edi # sched: [5:1.00] 869; SLM-NEXT: cmovgel (%rdx), %edi # sched: [5:1.00] 870; SLM-NEXT: cmovlel (%rdx), %edi # sched: [5:1.00] 871; SLM-NEXT: cmovlel (%rdx), %edi # sched: [5:1.00] 872; SLM-NEXT: cmovgl (%rdx), %edi # sched: [5:1.00] 873; SLM-NEXT: cmovgl (%rdx), %edi # sched: [5:1.00] 874; SLM-NEXT: #NO_APP 875; SLM-NEXT: retq # sched: [4:1.00] 876; 877; SANDY-LABEL: test_cmov_32: 878; SANDY: # %bb.0: 879; SANDY-NEXT: #APP 880; SANDY-NEXT: cmovol %esi, %edi # sched: [2:0.67] 881; SANDY-NEXT: cmovnol %esi, %edi # sched: [2:0.67] 882; SANDY-NEXT: cmovbl %esi, %edi # sched: [2:0.67] 883; SANDY-NEXT: cmovbl %esi, %edi # sched: [2:0.67] 884; SANDY-NEXT: cmovbl %esi, %edi # sched: [2:0.67] 885; SANDY-NEXT: cmovael %esi, %edi # sched: [2:0.67] 886; SANDY-NEXT: cmovael %esi, %edi # sched: [2:0.67] 887; SANDY-NEXT: cmovael %esi, %edi # sched: [2:0.67] 888; SANDY-NEXT: cmovel %esi, %edi # sched: [2:0.67] 889; SANDY-NEXT: cmovel %esi, %edi # sched: [2:0.67] 890; SANDY-NEXT: cmovnel %esi, %edi # sched: [2:0.67] 891; SANDY-NEXT: cmovnel %esi, %edi # sched: [2:0.67] 892; SANDY-NEXT: cmovbel %esi, %edi # sched: [3:1.00] 893; SANDY-NEXT: cmovbel %esi, %edi # sched: [3:1.00] 894; SANDY-NEXT: cmoval %esi, %edi # sched: [3:1.00] 895; SANDY-NEXT: cmoval %esi, %edi # sched: [3:1.00] 896; SANDY-NEXT: cmovsl %esi, %edi # sched: [2:0.67] 897; SANDY-NEXT: cmovnsl %esi, %edi # sched: [2:0.67] 898; SANDY-NEXT: cmovpl %esi, %edi # sched: [2:0.67] 899; SANDY-NEXT: cmovpl %esi, %edi # sched: [2:0.67] 900; SANDY-NEXT: cmovnpl %esi, %edi # sched: [2:0.67] 901; SANDY-NEXT: cmovnpl %esi, %edi # sched: [2:0.67] 902; SANDY-NEXT: cmovll %esi, %edi # sched: [2:0.67] 903; SANDY-NEXT: cmovll %esi, %edi # sched: [2:0.67] 904; SANDY-NEXT: cmovgel %esi, %edi # sched: [2:0.67] 905; SANDY-NEXT: cmovgel %esi, %edi # sched: [2:0.67] 906; SANDY-NEXT: cmovlel %esi, %edi # sched: [2:0.67] 907; SANDY-NEXT: cmovlel %esi, %edi # sched: [2:0.67] 908; SANDY-NEXT: cmovgl %esi, %edi # sched: [2:0.67] 909; SANDY-NEXT: cmovgl %esi, %edi # sched: [2:0.67] 910; SANDY-NEXT: cmovol (%rdx), %edi # sched: [7:0.67] 911; SANDY-NEXT: cmovnol (%rdx), %edi # sched: [7:0.67] 912; SANDY-NEXT: cmovbl (%rdx), %edi # sched: [7:0.67] 913; SANDY-NEXT: cmovbl (%rdx), %edi # sched: [7:0.67] 914; SANDY-NEXT: cmovbl (%rdx), %edi # sched: [7:0.67] 915; SANDY-NEXT: cmovael (%rdx), %edi # sched: [7:0.67] 916; SANDY-NEXT: cmovael (%rdx), %edi # sched: [7:0.67] 917; SANDY-NEXT: cmovael (%rdx), %edi # sched: [7:0.67] 918; SANDY-NEXT: cmovel (%rdx), %edi # sched: [7:0.67] 919; SANDY-NEXT: cmovel (%rdx), %edi # sched: [7:0.67] 920; SANDY-NEXT: cmovnel (%rdx), %edi # sched: [7:0.67] 921; SANDY-NEXT: cmovnel (%rdx), %edi # sched: [7:0.67] 922; SANDY-NEXT: cmovbel (%rdx), %edi # sched: [8:1.00] 923; SANDY-NEXT: cmovbel (%rdx), %edi # sched: [8:1.00] 924; SANDY-NEXT: cmoval (%rdx), %edi # sched: [8:1.00] 925; SANDY-NEXT: cmoval (%rdx), %edi # sched: [8:1.00] 926; SANDY-NEXT: cmovsl (%rdx), %edi # sched: [7:0.67] 927; SANDY-NEXT: cmovnsl (%rdx), %edi # sched: [7:0.67] 928; SANDY-NEXT: cmovpl (%rdx), %edi # sched: [7:0.67] 929; SANDY-NEXT: cmovpl (%rdx), %edi # sched: [7:0.67] 930; SANDY-NEXT: cmovnpl (%rdx), %edi # sched: [7:0.67] 931; SANDY-NEXT: cmovnpl (%rdx), %edi # sched: [7:0.67] 932; SANDY-NEXT: cmovll (%rdx), %edi # sched: [7:0.67] 933; SANDY-NEXT: cmovll (%rdx), %edi # sched: [7:0.67] 934; SANDY-NEXT: cmovgel (%rdx), %edi # sched: [7:0.67] 935; SANDY-NEXT: cmovgel (%rdx), %edi # sched: [7:0.67] 936; SANDY-NEXT: cmovlel (%rdx), %edi # sched: [7:0.67] 937; SANDY-NEXT: cmovlel (%rdx), %edi # sched: [7:0.67] 938; SANDY-NEXT: cmovgl (%rdx), %edi # sched: [7:0.67] 939; SANDY-NEXT: cmovgl (%rdx), %edi # sched: [7:0.67] 940; SANDY-NEXT: #NO_APP 941; SANDY-NEXT: retq # sched: [1:1.00] 942; 943; HASWELL-LABEL: test_cmov_32: 944; HASWELL: # %bb.0: 945; HASWELL-NEXT: #APP 946; HASWELL-NEXT: cmovol %esi, %edi # sched: [2:0.50] 947; HASWELL-NEXT: cmovnol %esi, %edi # sched: [2:0.50] 948; HASWELL-NEXT: cmovbl %esi, %edi # sched: [2:0.50] 949; HASWELL-NEXT: cmovbl %esi, %edi # sched: [2:0.50] 950; HASWELL-NEXT: cmovbl %esi, %edi # sched: [2:0.50] 951; HASWELL-NEXT: cmovael %esi, %edi # sched: [2:0.50] 952; HASWELL-NEXT: cmovael %esi, %edi # sched: [2:0.50] 953; HASWELL-NEXT: cmovael %esi, %edi # sched: [2:0.50] 954; HASWELL-NEXT: cmovel %esi, %edi # sched: [2:0.50] 955; HASWELL-NEXT: cmovel %esi, %edi # sched: [2:0.50] 956; HASWELL-NEXT: cmovnel %esi, %edi # sched: [2:0.50] 957; HASWELL-NEXT: cmovnel %esi, %edi # sched: [2:0.50] 958; HASWELL-NEXT: cmovbel %esi, %edi # sched: [3:0.75] 959; HASWELL-NEXT: cmovbel %esi, %edi # sched: [3:0.75] 960; HASWELL-NEXT: cmoval %esi, %edi # sched: [3:0.75] 961; HASWELL-NEXT: cmoval %esi, %edi # sched: [3:0.75] 962; HASWELL-NEXT: cmovsl %esi, %edi # sched: [2:0.50] 963; HASWELL-NEXT: cmovnsl %esi, %edi # sched: [2:0.50] 964; HASWELL-NEXT: cmovpl %esi, %edi # sched: [2:0.50] 965; HASWELL-NEXT: cmovpl %esi, %edi # sched: [2:0.50] 966; HASWELL-NEXT: cmovnpl %esi, %edi # sched: [2:0.50] 967; HASWELL-NEXT: cmovnpl %esi, %edi # sched: [2:0.50] 968; HASWELL-NEXT: cmovll %esi, %edi # sched: [2:0.50] 969; HASWELL-NEXT: cmovll %esi, %edi # sched: [2:0.50] 970; HASWELL-NEXT: cmovgel %esi, %edi # sched: [2:0.50] 971; HASWELL-NEXT: cmovgel %esi, %edi # sched: [2:0.50] 972; HASWELL-NEXT: cmovlel %esi, %edi # sched: [2:0.50] 973; HASWELL-NEXT: cmovlel %esi, %edi # sched: [2:0.50] 974; HASWELL-NEXT: cmovgl %esi, %edi # sched: [2:0.50] 975; HASWELL-NEXT: cmovgl %esi, %edi # sched: [2:0.50] 976; HASWELL-NEXT: cmovol (%rdx), %edi # sched: [7:0.50] 977; HASWELL-NEXT: cmovnol (%rdx), %edi # sched: [7:0.50] 978; HASWELL-NEXT: cmovbl (%rdx), %edi # sched: [7:0.50] 979; HASWELL-NEXT: cmovbl (%rdx), %edi # sched: [7:0.50] 980; HASWELL-NEXT: cmovbl (%rdx), %edi # sched: [7:0.50] 981; HASWELL-NEXT: cmovael (%rdx), %edi # sched: [7:0.50] 982; HASWELL-NEXT: cmovael (%rdx), %edi # sched: [7:0.50] 983; HASWELL-NEXT: cmovael (%rdx), %edi # sched: [7:0.50] 984; HASWELL-NEXT: cmovel (%rdx), %edi # sched: [7:0.50] 985; HASWELL-NEXT: cmovel (%rdx), %edi # sched: [7:0.50] 986; HASWELL-NEXT: cmovnel (%rdx), %edi # sched: [7:0.50] 987; HASWELL-NEXT: cmovnel (%rdx), %edi # sched: [7:0.50] 988; HASWELL-NEXT: cmovbel (%rdx), %edi # sched: [8:0.75] 989; HASWELL-NEXT: cmovbel (%rdx), %edi # sched: [8:0.75] 990; HASWELL-NEXT: cmoval (%rdx), %edi # sched: [8:0.75] 991; HASWELL-NEXT: cmoval (%rdx), %edi # sched: [8:0.75] 992; HASWELL-NEXT: cmovsl (%rdx), %edi # sched: [7:0.50] 993; HASWELL-NEXT: cmovnsl (%rdx), %edi # sched: [7:0.50] 994; HASWELL-NEXT: cmovpl (%rdx), %edi # sched: [7:0.50] 995; HASWELL-NEXT: cmovpl (%rdx), %edi # sched: [7:0.50] 996; HASWELL-NEXT: cmovnpl (%rdx), %edi # sched: [7:0.50] 997; HASWELL-NEXT: cmovnpl (%rdx), %edi # sched: [7:0.50] 998; HASWELL-NEXT: cmovll (%rdx), %edi # sched: [7:0.50] 999; HASWELL-NEXT: cmovll (%rdx), %edi # sched: [7:0.50] 1000; HASWELL-NEXT: cmovgel (%rdx), %edi # sched: [7:0.50] 1001; HASWELL-NEXT: cmovgel (%rdx), %edi # sched: [7:0.50] 1002; HASWELL-NEXT: cmovlel (%rdx), %edi # sched: [7:0.50] 1003; HASWELL-NEXT: cmovlel (%rdx), %edi # sched: [7:0.50] 1004; HASWELL-NEXT: cmovgl (%rdx), %edi # sched: [7:0.50] 1005; HASWELL-NEXT: cmovgl (%rdx), %edi # sched: [7:0.50] 1006; HASWELL-NEXT: #NO_APP 1007; HASWELL-NEXT: retq # sched: [7:1.00] 1008; 1009; BROADWELL-LABEL: test_cmov_32: 1010; BROADWELL: # %bb.0: 1011; BROADWELL-NEXT: #APP 1012; BROADWELL-NEXT: cmovol %esi, %edi # sched: [1:0.50] 1013; BROADWELL-NEXT: cmovnol %esi, %edi # sched: [1:0.50] 1014; BROADWELL-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1015; BROADWELL-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1016; BROADWELL-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1017; BROADWELL-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1018; BROADWELL-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1019; BROADWELL-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1020; BROADWELL-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1021; BROADWELL-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1022; BROADWELL-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1023; BROADWELL-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1024; BROADWELL-NEXT: cmovbel %esi, %edi # sched: [2:0.50] 1025; BROADWELL-NEXT: cmovbel %esi, %edi # sched: [2:0.50] 1026; BROADWELL-NEXT: cmoval %esi, %edi # sched: [2:0.50] 1027; BROADWELL-NEXT: cmoval %esi, %edi # sched: [2:0.50] 1028; BROADWELL-NEXT: cmovsl %esi, %edi # sched: [1:0.50] 1029; BROADWELL-NEXT: cmovnsl %esi, %edi # sched: [1:0.50] 1030; BROADWELL-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1031; BROADWELL-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1032; BROADWELL-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1033; BROADWELL-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1034; BROADWELL-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1035; BROADWELL-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1036; BROADWELL-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1037; BROADWELL-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1038; BROADWELL-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1039; BROADWELL-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1040; BROADWELL-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1041; BROADWELL-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1042; BROADWELL-NEXT: cmovol (%rdx), %edi # sched: [6:0.50] 1043; BROADWELL-NEXT: cmovnol (%rdx), %edi # sched: [6:0.50] 1044; BROADWELL-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1045; BROADWELL-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1046; BROADWELL-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1047; BROADWELL-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1048; BROADWELL-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1049; BROADWELL-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1050; BROADWELL-NEXT: cmovel (%rdx), %edi # sched: [6:0.50] 1051; BROADWELL-NEXT: cmovel (%rdx), %edi # sched: [6:0.50] 1052; BROADWELL-NEXT: cmovnel (%rdx), %edi # sched: [6:0.50] 1053; BROADWELL-NEXT: cmovnel (%rdx), %edi # sched: [6:0.50] 1054; BROADWELL-NEXT: cmovbel (%rdx), %edi # sched: [7:0.50] 1055; BROADWELL-NEXT: cmovbel (%rdx), %edi # sched: [7:0.50] 1056; BROADWELL-NEXT: cmoval (%rdx), %edi # sched: [7:0.50] 1057; BROADWELL-NEXT: cmoval (%rdx), %edi # sched: [7:0.50] 1058; BROADWELL-NEXT: cmovsl (%rdx), %edi # sched: [6:0.50] 1059; BROADWELL-NEXT: cmovnsl (%rdx), %edi # sched: [6:0.50] 1060; BROADWELL-NEXT: cmovpl (%rdx), %edi # sched: [6:0.50] 1061; BROADWELL-NEXT: cmovpl (%rdx), %edi # sched: [6:0.50] 1062; BROADWELL-NEXT: cmovnpl (%rdx), %edi # sched: [6:0.50] 1063; BROADWELL-NEXT: cmovnpl (%rdx), %edi # sched: [6:0.50] 1064; BROADWELL-NEXT: cmovll (%rdx), %edi # sched: [6:0.50] 1065; BROADWELL-NEXT: cmovll (%rdx), %edi # sched: [6:0.50] 1066; BROADWELL-NEXT: cmovgel (%rdx), %edi # sched: [6:0.50] 1067; BROADWELL-NEXT: cmovgel (%rdx), %edi # sched: [6:0.50] 1068; BROADWELL-NEXT: cmovlel (%rdx), %edi # sched: [6:0.50] 1069; BROADWELL-NEXT: cmovlel (%rdx), %edi # sched: [6:0.50] 1070; BROADWELL-NEXT: cmovgl (%rdx), %edi # sched: [6:0.50] 1071; BROADWELL-NEXT: cmovgl (%rdx), %edi # sched: [6:0.50] 1072; BROADWELL-NEXT: #NO_APP 1073; BROADWELL-NEXT: retq # sched: [7:1.00] 1074; 1075; SKYLAKE-LABEL: test_cmov_32: 1076; SKYLAKE: # %bb.0: 1077; SKYLAKE-NEXT: #APP 1078; SKYLAKE-NEXT: cmovol %esi, %edi # sched: [1:0.50] 1079; SKYLAKE-NEXT: cmovnol %esi, %edi # sched: [1:0.50] 1080; SKYLAKE-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1081; SKYLAKE-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1082; SKYLAKE-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1083; SKYLAKE-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1084; SKYLAKE-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1085; SKYLAKE-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1086; SKYLAKE-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1087; SKYLAKE-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1088; SKYLAKE-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1089; SKYLAKE-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1090; SKYLAKE-NEXT: cmovbel %esi, %edi # sched: [2:1.00] 1091; SKYLAKE-NEXT: cmovbel %esi, %edi # sched: [2:1.00] 1092; SKYLAKE-NEXT: cmoval %esi, %edi # sched: [2:1.00] 1093; SKYLAKE-NEXT: cmoval %esi, %edi # sched: [2:1.00] 1094; SKYLAKE-NEXT: cmovsl %esi, %edi # sched: [1:0.50] 1095; SKYLAKE-NEXT: cmovnsl %esi, %edi # sched: [1:0.50] 1096; SKYLAKE-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1097; SKYLAKE-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1098; SKYLAKE-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1099; SKYLAKE-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1100; SKYLAKE-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1101; SKYLAKE-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1102; SKYLAKE-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1103; SKYLAKE-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1104; SKYLAKE-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1105; SKYLAKE-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1106; SKYLAKE-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1107; SKYLAKE-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1108; SKYLAKE-NEXT: cmovol (%rdx), %edi # sched: [6:0.50] 1109; SKYLAKE-NEXT: cmovnol (%rdx), %edi # sched: [6:0.50] 1110; SKYLAKE-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1111; SKYLAKE-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1112; SKYLAKE-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1113; SKYLAKE-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1114; SKYLAKE-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1115; SKYLAKE-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1116; SKYLAKE-NEXT: cmovel (%rdx), %edi # sched: [6:0.50] 1117; SKYLAKE-NEXT: cmovel (%rdx), %edi # sched: [6:0.50] 1118; SKYLAKE-NEXT: cmovnel (%rdx), %edi # sched: [6:0.50] 1119; SKYLAKE-NEXT: cmovnel (%rdx), %edi # sched: [6:0.50] 1120; SKYLAKE-NEXT: cmovbel (%rdx), %edi # sched: [7:1.00] 1121; SKYLAKE-NEXT: cmovbel (%rdx), %edi # sched: [7:1.00] 1122; SKYLAKE-NEXT: cmoval (%rdx), %edi # sched: [7:1.00] 1123; SKYLAKE-NEXT: cmoval (%rdx), %edi # sched: [7:1.00] 1124; SKYLAKE-NEXT: cmovsl (%rdx), %edi # sched: [6:0.50] 1125; SKYLAKE-NEXT: cmovnsl (%rdx), %edi # sched: [6:0.50] 1126; SKYLAKE-NEXT: cmovpl (%rdx), %edi # sched: [6:0.50] 1127; SKYLAKE-NEXT: cmovpl (%rdx), %edi # sched: [6:0.50] 1128; SKYLAKE-NEXT: cmovnpl (%rdx), %edi # sched: [6:0.50] 1129; SKYLAKE-NEXT: cmovnpl (%rdx), %edi # sched: [6:0.50] 1130; SKYLAKE-NEXT: cmovll (%rdx), %edi # sched: [6:0.50] 1131; SKYLAKE-NEXT: cmovll (%rdx), %edi # sched: [6:0.50] 1132; SKYLAKE-NEXT: cmovgel (%rdx), %edi # sched: [6:0.50] 1133; SKYLAKE-NEXT: cmovgel (%rdx), %edi # sched: [6:0.50] 1134; SKYLAKE-NEXT: cmovlel (%rdx), %edi # sched: [6:0.50] 1135; SKYLAKE-NEXT: cmovlel (%rdx), %edi # sched: [6:0.50] 1136; SKYLAKE-NEXT: cmovgl (%rdx), %edi # sched: [6:0.50] 1137; SKYLAKE-NEXT: cmovgl (%rdx), %edi # sched: [6:0.50] 1138; SKYLAKE-NEXT: #NO_APP 1139; SKYLAKE-NEXT: retq # sched: [7:1.00] 1140; 1141; SKX-LABEL: test_cmov_32: 1142; SKX: # %bb.0: 1143; SKX-NEXT: #APP 1144; SKX-NEXT: cmovol %esi, %edi # sched: [1:0.50] 1145; SKX-NEXT: cmovnol %esi, %edi # sched: [1:0.50] 1146; SKX-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1147; SKX-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1148; SKX-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1149; SKX-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1150; SKX-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1151; SKX-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1152; SKX-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1153; SKX-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1154; SKX-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1155; SKX-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1156; SKX-NEXT: cmovbel %esi, %edi # sched: [2:1.00] 1157; SKX-NEXT: cmovbel %esi, %edi # sched: [2:1.00] 1158; SKX-NEXT: cmoval %esi, %edi # sched: [2:1.00] 1159; SKX-NEXT: cmoval %esi, %edi # sched: [2:1.00] 1160; SKX-NEXT: cmovsl %esi, %edi # sched: [1:0.50] 1161; SKX-NEXT: cmovnsl %esi, %edi # sched: [1:0.50] 1162; SKX-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1163; SKX-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1164; SKX-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1165; SKX-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1166; SKX-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1167; SKX-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1168; SKX-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1169; SKX-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1170; SKX-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1171; SKX-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1172; SKX-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1173; SKX-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1174; SKX-NEXT: cmovol (%rdx), %edi # sched: [6:0.50] 1175; SKX-NEXT: cmovnol (%rdx), %edi # sched: [6:0.50] 1176; SKX-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1177; SKX-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1178; SKX-NEXT: cmovbl (%rdx), %edi # sched: [6:0.50] 1179; SKX-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1180; SKX-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1181; SKX-NEXT: cmovael (%rdx), %edi # sched: [6:0.50] 1182; SKX-NEXT: cmovel (%rdx), %edi # sched: [6:0.50] 1183; SKX-NEXT: cmovel (%rdx), %edi # sched: [6:0.50] 1184; SKX-NEXT: cmovnel (%rdx), %edi # sched: [6:0.50] 1185; SKX-NEXT: cmovnel (%rdx), %edi # sched: [6:0.50] 1186; SKX-NEXT: cmovbel (%rdx), %edi # sched: [7:1.00] 1187; SKX-NEXT: cmovbel (%rdx), %edi # sched: [7:1.00] 1188; SKX-NEXT: cmoval (%rdx), %edi # sched: [7:1.00] 1189; SKX-NEXT: cmoval (%rdx), %edi # sched: [7:1.00] 1190; SKX-NEXT: cmovsl (%rdx), %edi # sched: [6:0.50] 1191; SKX-NEXT: cmovnsl (%rdx), %edi # sched: [6:0.50] 1192; SKX-NEXT: cmovpl (%rdx), %edi # sched: [6:0.50] 1193; SKX-NEXT: cmovpl (%rdx), %edi # sched: [6:0.50] 1194; SKX-NEXT: cmovnpl (%rdx), %edi # sched: [6:0.50] 1195; SKX-NEXT: cmovnpl (%rdx), %edi # sched: [6:0.50] 1196; SKX-NEXT: cmovll (%rdx), %edi # sched: [6:0.50] 1197; SKX-NEXT: cmovll (%rdx), %edi # sched: [6:0.50] 1198; SKX-NEXT: cmovgel (%rdx), %edi # sched: [6:0.50] 1199; SKX-NEXT: cmovgel (%rdx), %edi # sched: [6:0.50] 1200; SKX-NEXT: cmovlel (%rdx), %edi # sched: [6:0.50] 1201; SKX-NEXT: cmovlel (%rdx), %edi # sched: [6:0.50] 1202; SKX-NEXT: cmovgl (%rdx), %edi # sched: [6:0.50] 1203; SKX-NEXT: cmovgl (%rdx), %edi # sched: [6:0.50] 1204; SKX-NEXT: #NO_APP 1205; SKX-NEXT: retq # sched: [7:1.00] 1206; 1207; BTVER2-LABEL: test_cmov_32: 1208; BTVER2: # %bb.0: 1209; BTVER2-NEXT: #APP 1210; BTVER2-NEXT: cmovol %esi, %edi # sched: [1:0.50] 1211; BTVER2-NEXT: cmovnol %esi, %edi # sched: [1:0.50] 1212; BTVER2-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1213; BTVER2-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1214; BTVER2-NEXT: cmovbl %esi, %edi # sched: [1:0.50] 1215; BTVER2-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1216; BTVER2-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1217; BTVER2-NEXT: cmovael %esi, %edi # sched: [1:0.50] 1218; BTVER2-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1219; BTVER2-NEXT: cmovel %esi, %edi # sched: [1:0.50] 1220; BTVER2-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1221; BTVER2-NEXT: cmovnel %esi, %edi # sched: [1:0.50] 1222; BTVER2-NEXT: cmovbel %esi, %edi # sched: [1:0.50] 1223; BTVER2-NEXT: cmovbel %esi, %edi # sched: [1:0.50] 1224; BTVER2-NEXT: cmoval %esi, %edi # sched: [1:0.50] 1225; BTVER2-NEXT: cmoval %esi, %edi # sched: [1:0.50] 1226; BTVER2-NEXT: cmovsl %esi, %edi # sched: [1:0.50] 1227; BTVER2-NEXT: cmovnsl %esi, %edi # sched: [1:0.50] 1228; BTVER2-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1229; BTVER2-NEXT: cmovpl %esi, %edi # sched: [1:0.50] 1230; BTVER2-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1231; BTVER2-NEXT: cmovnpl %esi, %edi # sched: [1:0.50] 1232; BTVER2-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1233; BTVER2-NEXT: cmovll %esi, %edi # sched: [1:0.50] 1234; BTVER2-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1235; BTVER2-NEXT: cmovgel %esi, %edi # sched: [1:0.50] 1236; BTVER2-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1237; BTVER2-NEXT: cmovlel %esi, %edi # sched: [1:0.50] 1238; BTVER2-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1239; BTVER2-NEXT: cmovgl %esi, %edi # sched: [1:0.50] 1240; BTVER2-NEXT: cmovol (%rdx), %edi # sched: [4:1.00] 1241; BTVER2-NEXT: cmovnol (%rdx), %edi # sched: [4:1.00] 1242; BTVER2-NEXT: cmovbl (%rdx), %edi # sched: [4:1.00] 1243; BTVER2-NEXT: cmovbl (%rdx), %edi # sched: [4:1.00] 1244; BTVER2-NEXT: cmovbl (%rdx), %edi # sched: [4:1.00] 1245; BTVER2-NEXT: cmovael (%rdx), %edi # sched: [4:1.00] 1246; BTVER2-NEXT: cmovael (%rdx), %edi # sched: [4:1.00] 1247; BTVER2-NEXT: cmovael (%rdx), %edi # sched: [4:1.00] 1248; BTVER2-NEXT: cmovel (%rdx), %edi # sched: [4:1.00] 1249; BTVER2-NEXT: cmovel (%rdx), %edi # sched: [4:1.00] 1250; BTVER2-NEXT: cmovnel (%rdx), %edi # sched: [4:1.00] 1251; BTVER2-NEXT: cmovnel (%rdx), %edi # sched: [4:1.00] 1252; BTVER2-NEXT: cmovbel (%rdx), %edi # sched: [4:1.00] 1253; BTVER2-NEXT: cmovbel (%rdx), %edi # sched: [4:1.00] 1254; BTVER2-NEXT: cmoval (%rdx), %edi # sched: [4:1.00] 1255; BTVER2-NEXT: cmoval (%rdx), %edi # sched: [4:1.00] 1256; BTVER2-NEXT: cmovsl (%rdx), %edi # sched: [4:1.00] 1257; BTVER2-NEXT: cmovnsl (%rdx), %edi # sched: [4:1.00] 1258; BTVER2-NEXT: cmovpl (%rdx), %edi # sched: [4:1.00] 1259; BTVER2-NEXT: cmovpl (%rdx), %edi # sched: [4:1.00] 1260; BTVER2-NEXT: cmovnpl (%rdx), %edi # sched: [4:1.00] 1261; BTVER2-NEXT: cmovnpl (%rdx), %edi # sched: [4:1.00] 1262; BTVER2-NEXT: cmovll (%rdx), %edi # sched: [4:1.00] 1263; BTVER2-NEXT: cmovll (%rdx), %edi # sched: [4:1.00] 1264; BTVER2-NEXT: cmovgel (%rdx), %edi # sched: [4:1.00] 1265; BTVER2-NEXT: cmovgel (%rdx), %edi # sched: [4:1.00] 1266; BTVER2-NEXT: cmovlel (%rdx), %edi # sched: [4:1.00] 1267; BTVER2-NEXT: cmovlel (%rdx), %edi # sched: [4:1.00] 1268; BTVER2-NEXT: cmovgl (%rdx), %edi # sched: [4:1.00] 1269; BTVER2-NEXT: cmovgl (%rdx), %edi # sched: [4:1.00] 1270; BTVER2-NEXT: #NO_APP 1271; BTVER2-NEXT: retq # sched: [4:1.00] 1272; 1273; ZNVER1-LABEL: test_cmov_32: 1274; ZNVER1: # %bb.0: 1275; ZNVER1-NEXT: #APP 1276; ZNVER1-NEXT: cmovol %esi, %edi # sched: [1:0.25] 1277; ZNVER1-NEXT: cmovnol %esi, %edi # sched: [1:0.25] 1278; ZNVER1-NEXT: cmovbl %esi, %edi # sched: [1:0.25] 1279; ZNVER1-NEXT: cmovbl %esi, %edi # sched: [1:0.25] 1280; ZNVER1-NEXT: cmovbl %esi, %edi # sched: [1:0.25] 1281; ZNVER1-NEXT: cmovael %esi, %edi # sched: [1:0.25] 1282; ZNVER1-NEXT: cmovael %esi, %edi # sched: [1:0.25] 1283; ZNVER1-NEXT: cmovael %esi, %edi # sched: [1:0.25] 1284; ZNVER1-NEXT: cmovel %esi, %edi # sched: [1:0.25] 1285; ZNVER1-NEXT: cmovel %esi, %edi # sched: [1:0.25] 1286; ZNVER1-NEXT: cmovnel %esi, %edi # sched: [1:0.25] 1287; ZNVER1-NEXT: cmovnel %esi, %edi # sched: [1:0.25] 1288; ZNVER1-NEXT: cmovbel %esi, %edi # sched: [1:0.25] 1289; ZNVER1-NEXT: cmovbel %esi, %edi # sched: [1:0.25] 1290; ZNVER1-NEXT: cmoval %esi, %edi # sched: [1:0.25] 1291; ZNVER1-NEXT: cmoval %esi, %edi # sched: [1:0.25] 1292; ZNVER1-NEXT: cmovsl %esi, %edi # sched: [1:0.25] 1293; ZNVER1-NEXT: cmovnsl %esi, %edi # sched: [1:0.25] 1294; ZNVER1-NEXT: cmovpl %esi, %edi # sched: [1:0.25] 1295; ZNVER1-NEXT: cmovpl %esi, %edi # sched: [1:0.25] 1296; ZNVER1-NEXT: cmovnpl %esi, %edi # sched: [1:0.25] 1297; ZNVER1-NEXT: cmovnpl %esi, %edi # sched: [1:0.25] 1298; ZNVER1-NEXT: cmovll %esi, %edi # sched: [1:0.25] 1299; ZNVER1-NEXT: cmovll %esi, %edi # sched: [1:0.25] 1300; ZNVER1-NEXT: cmovgel %esi, %edi # sched: [1:0.25] 1301; ZNVER1-NEXT: cmovgel %esi, %edi # sched: [1:0.25] 1302; ZNVER1-NEXT: cmovlel %esi, %edi # sched: [1:0.25] 1303; ZNVER1-NEXT: cmovlel %esi, %edi # sched: [1:0.25] 1304; ZNVER1-NEXT: cmovgl %esi, %edi # sched: [1:0.25] 1305; ZNVER1-NEXT: cmovgl %esi, %edi # sched: [1:0.25] 1306; ZNVER1-NEXT: cmovol (%rdx), %edi # sched: [5:0.50] 1307; ZNVER1-NEXT: cmovnol (%rdx), %edi # sched: [5:0.50] 1308; ZNVER1-NEXT: cmovbl (%rdx), %edi # sched: [5:0.50] 1309; ZNVER1-NEXT: cmovbl (%rdx), %edi # sched: [5:0.50] 1310; ZNVER1-NEXT: cmovbl (%rdx), %edi # sched: [5:0.50] 1311; ZNVER1-NEXT: cmovael (%rdx), %edi # sched: [5:0.50] 1312; ZNVER1-NEXT: cmovael (%rdx), %edi # sched: [5:0.50] 1313; ZNVER1-NEXT: cmovael (%rdx), %edi # sched: [5:0.50] 1314; ZNVER1-NEXT: cmovel (%rdx), %edi # sched: [5:0.50] 1315; ZNVER1-NEXT: cmovel (%rdx), %edi # sched: [5:0.50] 1316; ZNVER1-NEXT: cmovnel (%rdx), %edi # sched: [5:0.50] 1317; ZNVER1-NEXT: cmovnel (%rdx), %edi # sched: [5:0.50] 1318; ZNVER1-NEXT: cmovbel (%rdx), %edi # sched: [5:0.50] 1319; ZNVER1-NEXT: cmovbel (%rdx), %edi # sched: [5:0.50] 1320; ZNVER1-NEXT: cmoval (%rdx), %edi # sched: [5:0.50] 1321; ZNVER1-NEXT: cmoval (%rdx), %edi # sched: [5:0.50] 1322; ZNVER1-NEXT: cmovsl (%rdx), %edi # sched: [5:0.50] 1323; ZNVER1-NEXT: cmovnsl (%rdx), %edi # sched: [5:0.50] 1324; ZNVER1-NEXT: cmovpl (%rdx), %edi # sched: [5:0.50] 1325; ZNVER1-NEXT: cmovpl (%rdx), %edi # sched: [5:0.50] 1326; ZNVER1-NEXT: cmovnpl (%rdx), %edi # sched: [5:0.50] 1327; ZNVER1-NEXT: cmovnpl (%rdx), %edi # sched: [5:0.50] 1328; ZNVER1-NEXT: cmovll (%rdx), %edi # sched: [5:0.50] 1329; ZNVER1-NEXT: cmovll (%rdx), %edi # sched: [5:0.50] 1330; ZNVER1-NEXT: cmovgel (%rdx), %edi # sched: [5:0.50] 1331; ZNVER1-NEXT: cmovgel (%rdx), %edi # sched: [5:0.50] 1332; ZNVER1-NEXT: cmovlel (%rdx), %edi # sched: [5:0.50] 1333; ZNVER1-NEXT: cmovlel (%rdx), %edi # sched: [5:0.50] 1334; ZNVER1-NEXT: cmovgl (%rdx), %edi # sched: [5:0.50] 1335; ZNVER1-NEXT: cmovgl (%rdx), %edi # sched: [5:0.50] 1336; ZNVER1-NEXT: #NO_APP 1337; ZNVER1-NEXT: retq # sched: [1:0.50] 1338 call void asm sideeffect "cmovol $1, $0 \0A\09 cmovnol $1, $0 \0A\09 cmovbl $1, $0 \0A\09 cmovcl $1, $0 \0A\09 cmovnael $1, $0 \0A\09 cmovnbl $1, $0 \0A\09 cmovncl $1, $0 \0A\09 cmovael $1, $0 \0A\09 cmovzl $1, $0 \0A\09 cmovel $1, $0 \0A\09 cmovnzl $1, $0 \0A\09 cmovnel $1, $0 \0A\09 cmovbel $1, $0 \0A\09 cmovnal $1, $0 \0A\09 cmovnbel $1, $0 \0A\09 cmoval $1, $0 \0A\09 cmovsl $1, $0 \0A\09 cmovnsl $1, $0 \0A\09 cmovpl $1, $0 \0A\09 cmovpel $1, $0 \0A\09 cmovnpl $1, $0 \0A\09 cmovpol $1, $0 \0A\09 cmovll $1, $0 \0A\09 cmovngel $1, $0 \0A\09 cmovnll $1, $0 \0A\09 cmovgel $1, $0 \0A\09 cmovlel $1, $0 \0A\09 cmovngl $1, $0 \0A\09 cmovnlel $1, $0 \0A\09 cmovgl $1, $0 \0A\09 cmovol $2, $0 \0A\09 cmovnol $2, $0 \0A\09 cmovbl $2, $0 \0A\09 cmovcl $2, $0 \0A\09 cmovnael $2, $0 \0A\09 cmovnbl $2, $0 \0A\09 cmovncl $2, $0 \0A\09 cmovael $2, $0 \0A\09 cmovzl $2, $0 \0A\09 cmovel $2, $0 \0A\09 cmovnzl $2, $0 \0A\09 cmovnel $2, $0 \0A\09 cmovbel $2, $0 \0A\09 cmovnal $2, $0 \0A\09 cmovnbel $2, $0 \0A\09 cmoval $2, $0 \0A\09 cmovsl $2, $0 \0A\09 cmovnsl $2, $0 \0A\09 cmovpl $2, $0 \0A\09 cmovpel $2, $0 \0A\09 cmovnpl $2, $0 \0A\09 cmovpol $2, $0 \0A\09 cmovll $2, $0 \0A\09 cmovngel $2, $0 \0A\09 cmovnll $2, $0 \0A\09 cmovgel $2, $0 \0A\09 cmovlel $2, $0 \0A\09 cmovngl $2, $0 \0A\09 cmovnlel $2, $0 \0A\09 cmovgl $2, $0", "r,r,*m"(i32 %a0, i32 %a1, i32 *%a2) 1339 ret void 1340} 1341 1342define void @test_cmov_64(i64 %a0, i64 %a1, i64 *%a2) optsize { 1343; GENERIC-LABEL: test_cmov_64: 1344; GENERIC: # %bb.0: 1345; GENERIC-NEXT: #APP 1346; GENERIC-NEXT: cmovoq %rsi, %rdi # sched: [2:0.67] 1347; GENERIC-NEXT: cmovnoq %rsi, %rdi # sched: [2:0.67] 1348; GENERIC-NEXT: cmovbq %rsi, %rdi # sched: [2:0.67] 1349; GENERIC-NEXT: cmovbq %rsi, %rdi # sched: [2:0.67] 1350; GENERIC-NEXT: cmovbq %rsi, %rdi # sched: [2:0.67] 1351; GENERIC-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.67] 1352; GENERIC-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.67] 1353; GENERIC-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.67] 1354; GENERIC-NEXT: cmoveq %rsi, %rdi # sched: [2:0.67] 1355; GENERIC-NEXT: cmoveq %rsi, %rdi # sched: [2:0.67] 1356; GENERIC-NEXT: cmovneq %rsi, %rdi # sched: [2:0.67] 1357; GENERIC-NEXT: cmovneq %rsi, %rdi # sched: [2:0.67] 1358; GENERIC-NEXT: cmovbeq %rsi, %rdi # sched: [3:1.00] 1359; GENERIC-NEXT: cmovbeq %rsi, %rdi # sched: [3:1.00] 1360; GENERIC-NEXT: cmovaq %rsi, %rdi # sched: [3:1.00] 1361; GENERIC-NEXT: cmovaq %rsi, %rdi # sched: [3:1.00] 1362; GENERIC-NEXT: cmovsq %rsi, %rdi # sched: [2:0.67] 1363; GENERIC-NEXT: cmovnsq %rsi, %rdi # sched: [2:0.67] 1364; GENERIC-NEXT: cmovpq %rsi, %rdi # sched: [2:0.67] 1365; GENERIC-NEXT: cmovpq %rsi, %rdi # sched: [2:0.67] 1366; GENERIC-NEXT: cmovnpq %rsi, %rdi # sched: [2:0.67] 1367; GENERIC-NEXT: cmovnpq %rsi, %rdi # sched: [2:0.67] 1368; GENERIC-NEXT: cmovlq %rsi, %rdi # sched: [2:0.67] 1369; GENERIC-NEXT: cmovlq %rsi, %rdi # sched: [2:0.67] 1370; GENERIC-NEXT: cmovgeq %rsi, %rdi # sched: [2:0.67] 1371; GENERIC-NEXT: cmovgeq %rsi, %rdi # sched: [2:0.67] 1372; GENERIC-NEXT: cmovleq %rsi, %rdi # sched: [2:0.67] 1373; GENERIC-NEXT: cmovleq %rsi, %rdi # sched: [2:0.67] 1374; GENERIC-NEXT: cmovgq %rsi, %rdi # sched: [2:0.67] 1375; GENERIC-NEXT: cmovgq %rsi, %rdi # sched: [2:0.67] 1376; GENERIC-NEXT: cmovoq (%rdx), %rdi # sched: [7:0.67] 1377; GENERIC-NEXT: cmovnoq (%rdx), %rdi # sched: [7:0.67] 1378; GENERIC-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.67] 1379; GENERIC-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.67] 1380; GENERIC-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.67] 1381; GENERIC-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.67] 1382; GENERIC-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.67] 1383; GENERIC-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.67] 1384; GENERIC-NEXT: cmoveq (%rdx), %rdi # sched: [7:0.67] 1385; GENERIC-NEXT: cmoveq (%rdx), %rdi # sched: [7:0.67] 1386; GENERIC-NEXT: cmovneq (%rdx), %rdi # sched: [7:0.67] 1387; GENERIC-NEXT: cmovneq (%rdx), %rdi # sched: [7:0.67] 1388; GENERIC-NEXT: cmovbeq (%rdx), %rdi # sched: [8:1.00] 1389; GENERIC-NEXT: cmovbeq (%rdx), %rdi # sched: [8:1.00] 1390; GENERIC-NEXT: cmovaq (%rdx), %rdi # sched: [8:1.00] 1391; GENERIC-NEXT: cmovaq (%rdx), %rdi # sched: [8:1.00] 1392; GENERIC-NEXT: cmovsq (%rdx), %rdi # sched: [7:0.67] 1393; GENERIC-NEXT: cmovnsq (%rdx), %rdi # sched: [7:0.67] 1394; GENERIC-NEXT: cmovpq (%rdx), %rdi # sched: [7:0.67] 1395; GENERIC-NEXT: cmovpq (%rdx), %rdi # sched: [7:0.67] 1396; GENERIC-NEXT: cmovnpq (%rdx), %rdi # sched: [7:0.67] 1397; GENERIC-NEXT: cmovnpq (%rdx), %rdi # sched: [7:0.67] 1398; GENERIC-NEXT: cmovlq (%rdx), %rdi # sched: [7:0.67] 1399; GENERIC-NEXT: cmovlq (%rdx), %rdi # sched: [7:0.67] 1400; GENERIC-NEXT: cmovgeq (%rdx), %rdi # sched: [7:0.67] 1401; GENERIC-NEXT: cmovgeq (%rdx), %rdi # sched: [7:0.67] 1402; GENERIC-NEXT: cmovleq (%rdx), %rdi # sched: [7:0.67] 1403; GENERIC-NEXT: cmovleq (%rdx), %rdi # sched: [7:0.67] 1404; GENERIC-NEXT: cmovgq (%rdx), %rdi # sched: [7:0.67] 1405; GENERIC-NEXT: cmovgq (%rdx), %rdi # sched: [7:0.67] 1406; GENERIC-NEXT: #NO_APP 1407; GENERIC-NEXT: retq # sched: [1:1.00] 1408; 1409; ATOM-LABEL: test_cmov_64: 1410; ATOM: # %bb.0: 1411; ATOM-NEXT: #APP 1412; ATOM-NEXT: cmovoq %rsi, %rdi # sched: [1:0.50] 1413; ATOM-NEXT: cmovnoq %rsi, %rdi # sched: [1:0.50] 1414; ATOM-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1415; ATOM-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1416; ATOM-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1417; ATOM-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1418; ATOM-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1419; ATOM-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1420; ATOM-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1421; ATOM-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1422; ATOM-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1423; ATOM-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1424; ATOM-NEXT: cmovbeq %rsi, %rdi # sched: [1:0.50] 1425; ATOM-NEXT: cmovbeq %rsi, %rdi # sched: [1:0.50] 1426; ATOM-NEXT: cmovaq %rsi, %rdi # sched: [1:0.50] 1427; ATOM-NEXT: cmovaq %rsi, %rdi # sched: [1:0.50] 1428; ATOM-NEXT: cmovsq %rsi, %rdi # sched: [1:0.50] 1429; ATOM-NEXT: cmovnsq %rsi, %rdi # sched: [1:0.50] 1430; ATOM-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1431; ATOM-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1432; ATOM-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1433; ATOM-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1434; ATOM-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1435; ATOM-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1436; ATOM-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1437; ATOM-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1438; ATOM-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1439; ATOM-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1440; ATOM-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1441; ATOM-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1442; ATOM-NEXT: cmovoq (%rdx), %rdi # sched: [1:1.00] 1443; ATOM-NEXT: cmovnoq (%rdx), %rdi # sched: [1:1.00] 1444; ATOM-NEXT: cmovbq (%rdx), %rdi # sched: [1:1.00] 1445; ATOM-NEXT: cmovbq (%rdx), %rdi # sched: [1:1.00] 1446; ATOM-NEXT: cmovbq (%rdx), %rdi # sched: [1:1.00] 1447; ATOM-NEXT: cmovaeq (%rdx), %rdi # sched: [1:1.00] 1448; ATOM-NEXT: cmovaeq (%rdx), %rdi # sched: [1:1.00] 1449; ATOM-NEXT: cmovaeq (%rdx), %rdi # sched: [1:1.00] 1450; ATOM-NEXT: cmoveq (%rdx), %rdi # sched: [1:1.00] 1451; ATOM-NEXT: cmoveq (%rdx), %rdi # sched: [1:1.00] 1452; ATOM-NEXT: cmovneq (%rdx), %rdi # sched: [1:1.00] 1453; ATOM-NEXT: cmovneq (%rdx), %rdi # sched: [1:1.00] 1454; ATOM-NEXT: cmovbeq (%rdx), %rdi # sched: [1:1.00] 1455; ATOM-NEXT: cmovbeq (%rdx), %rdi # sched: [1:1.00] 1456; ATOM-NEXT: cmovaq (%rdx), %rdi # sched: [1:1.00] 1457; ATOM-NEXT: cmovaq (%rdx), %rdi # sched: [1:1.00] 1458; ATOM-NEXT: cmovsq (%rdx), %rdi # sched: [1:1.00] 1459; ATOM-NEXT: cmovnsq (%rdx), %rdi # sched: [1:1.00] 1460; ATOM-NEXT: cmovpq (%rdx), %rdi # sched: [1:1.00] 1461; ATOM-NEXT: cmovpq (%rdx), %rdi # sched: [1:1.00] 1462; ATOM-NEXT: cmovnpq (%rdx), %rdi # sched: [1:1.00] 1463; ATOM-NEXT: cmovnpq (%rdx), %rdi # sched: [1:1.00] 1464; ATOM-NEXT: cmovlq (%rdx), %rdi # sched: [1:1.00] 1465; ATOM-NEXT: cmovlq (%rdx), %rdi # sched: [1:1.00] 1466; ATOM-NEXT: cmovgeq (%rdx), %rdi # sched: [1:1.00] 1467; ATOM-NEXT: cmovgeq (%rdx), %rdi # sched: [1:1.00] 1468; ATOM-NEXT: cmovleq (%rdx), %rdi # sched: [1:1.00] 1469; ATOM-NEXT: cmovleq (%rdx), %rdi # sched: [1:1.00] 1470; ATOM-NEXT: cmovgq (%rdx), %rdi # sched: [1:1.00] 1471; ATOM-NEXT: cmovgq (%rdx), %rdi # sched: [1:1.00] 1472; ATOM-NEXT: #NO_APP 1473; ATOM-NEXT: retq # sched: [79:39.50] 1474; 1475; SLM-LABEL: test_cmov_64: 1476; SLM: # %bb.0: 1477; SLM-NEXT: #APP 1478; SLM-NEXT: cmovoq %rsi, %rdi # sched: [2:1.00] 1479; SLM-NEXT: cmovnoq %rsi, %rdi # sched: [2:1.00] 1480; SLM-NEXT: cmovbq %rsi, %rdi # sched: [2:1.00] 1481; SLM-NEXT: cmovbq %rsi, %rdi # sched: [2:1.00] 1482; SLM-NEXT: cmovbq %rsi, %rdi # sched: [2:1.00] 1483; SLM-NEXT: cmovaeq %rsi, %rdi # sched: [2:1.00] 1484; SLM-NEXT: cmovaeq %rsi, %rdi # sched: [2:1.00] 1485; SLM-NEXT: cmovaeq %rsi, %rdi # sched: [2:1.00] 1486; SLM-NEXT: cmoveq %rsi, %rdi # sched: [2:1.00] 1487; SLM-NEXT: cmoveq %rsi, %rdi # sched: [2:1.00] 1488; SLM-NEXT: cmovneq %rsi, %rdi # sched: [2:1.00] 1489; SLM-NEXT: cmovneq %rsi, %rdi # sched: [2:1.00] 1490; SLM-NEXT: cmovbeq %rsi, %rdi # sched: [2:1.00] 1491; SLM-NEXT: cmovbeq %rsi, %rdi # sched: [2:1.00] 1492; SLM-NEXT: cmovaq %rsi, %rdi # sched: [2:1.00] 1493; SLM-NEXT: cmovaq %rsi, %rdi # sched: [2:1.00] 1494; SLM-NEXT: cmovsq %rsi, %rdi # sched: [2:1.00] 1495; SLM-NEXT: cmovnsq %rsi, %rdi # sched: [2:1.00] 1496; SLM-NEXT: cmovpq %rsi, %rdi # sched: [2:1.00] 1497; SLM-NEXT: cmovpq %rsi, %rdi # sched: [2:1.00] 1498; SLM-NEXT: cmovnpq %rsi, %rdi # sched: [2:1.00] 1499; SLM-NEXT: cmovnpq %rsi, %rdi # sched: [2:1.00] 1500; SLM-NEXT: cmovlq %rsi, %rdi # sched: [2:1.00] 1501; SLM-NEXT: cmovlq %rsi, %rdi # sched: [2:1.00] 1502; SLM-NEXT: cmovgeq %rsi, %rdi # sched: [2:1.00] 1503; SLM-NEXT: cmovgeq %rsi, %rdi # sched: [2:1.00] 1504; SLM-NEXT: cmovleq %rsi, %rdi # sched: [2:1.00] 1505; SLM-NEXT: cmovleq %rsi, %rdi # sched: [2:1.00] 1506; SLM-NEXT: cmovgq %rsi, %rdi # sched: [2:1.00] 1507; SLM-NEXT: cmovgq %rsi, %rdi # sched: [2:1.00] 1508; SLM-NEXT: cmovoq (%rdx), %rdi # sched: [5:1.00] 1509; SLM-NEXT: cmovnoq (%rdx), %rdi # sched: [5:1.00] 1510; SLM-NEXT: cmovbq (%rdx), %rdi # sched: [5:1.00] 1511; SLM-NEXT: cmovbq (%rdx), %rdi # sched: [5:1.00] 1512; SLM-NEXT: cmovbq (%rdx), %rdi # sched: [5:1.00] 1513; SLM-NEXT: cmovaeq (%rdx), %rdi # sched: [5:1.00] 1514; SLM-NEXT: cmovaeq (%rdx), %rdi # sched: [5:1.00] 1515; SLM-NEXT: cmovaeq (%rdx), %rdi # sched: [5:1.00] 1516; SLM-NEXT: cmoveq (%rdx), %rdi # sched: [5:1.00] 1517; SLM-NEXT: cmoveq (%rdx), %rdi # sched: [5:1.00] 1518; SLM-NEXT: cmovneq (%rdx), %rdi # sched: [5:1.00] 1519; SLM-NEXT: cmovneq (%rdx), %rdi # sched: [5:1.00] 1520; SLM-NEXT: cmovbeq (%rdx), %rdi # sched: [5:1.00] 1521; SLM-NEXT: cmovbeq (%rdx), %rdi # sched: [5:1.00] 1522; SLM-NEXT: cmovaq (%rdx), %rdi # sched: [5:1.00] 1523; SLM-NEXT: cmovaq (%rdx), %rdi # sched: [5:1.00] 1524; SLM-NEXT: cmovsq (%rdx), %rdi # sched: [5:1.00] 1525; SLM-NEXT: cmovnsq (%rdx), %rdi # sched: [5:1.00] 1526; SLM-NEXT: cmovpq (%rdx), %rdi # sched: [5:1.00] 1527; SLM-NEXT: cmovpq (%rdx), %rdi # sched: [5:1.00] 1528; SLM-NEXT: cmovnpq (%rdx), %rdi # sched: [5:1.00] 1529; SLM-NEXT: cmovnpq (%rdx), %rdi # sched: [5:1.00] 1530; SLM-NEXT: cmovlq (%rdx), %rdi # sched: [5:1.00] 1531; SLM-NEXT: cmovlq (%rdx), %rdi # sched: [5:1.00] 1532; SLM-NEXT: cmovgeq (%rdx), %rdi # sched: [5:1.00] 1533; SLM-NEXT: cmovgeq (%rdx), %rdi # sched: [5:1.00] 1534; SLM-NEXT: cmovleq (%rdx), %rdi # sched: [5:1.00] 1535; SLM-NEXT: cmovleq (%rdx), %rdi # sched: [5:1.00] 1536; SLM-NEXT: cmovgq (%rdx), %rdi # sched: [5:1.00] 1537; SLM-NEXT: cmovgq (%rdx), %rdi # sched: [5:1.00] 1538; SLM-NEXT: #NO_APP 1539; SLM-NEXT: retq # sched: [4:1.00] 1540; 1541; SANDY-LABEL: test_cmov_64: 1542; SANDY: # %bb.0: 1543; SANDY-NEXT: #APP 1544; SANDY-NEXT: cmovoq %rsi, %rdi # sched: [2:0.67] 1545; SANDY-NEXT: cmovnoq %rsi, %rdi # sched: [2:0.67] 1546; SANDY-NEXT: cmovbq %rsi, %rdi # sched: [2:0.67] 1547; SANDY-NEXT: cmovbq %rsi, %rdi # sched: [2:0.67] 1548; SANDY-NEXT: cmovbq %rsi, %rdi # sched: [2:0.67] 1549; SANDY-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.67] 1550; SANDY-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.67] 1551; SANDY-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.67] 1552; SANDY-NEXT: cmoveq %rsi, %rdi # sched: [2:0.67] 1553; SANDY-NEXT: cmoveq %rsi, %rdi # sched: [2:0.67] 1554; SANDY-NEXT: cmovneq %rsi, %rdi # sched: [2:0.67] 1555; SANDY-NEXT: cmovneq %rsi, %rdi # sched: [2:0.67] 1556; SANDY-NEXT: cmovbeq %rsi, %rdi # sched: [3:1.00] 1557; SANDY-NEXT: cmovbeq %rsi, %rdi # sched: [3:1.00] 1558; SANDY-NEXT: cmovaq %rsi, %rdi # sched: [3:1.00] 1559; SANDY-NEXT: cmovaq %rsi, %rdi # sched: [3:1.00] 1560; SANDY-NEXT: cmovsq %rsi, %rdi # sched: [2:0.67] 1561; SANDY-NEXT: cmovnsq %rsi, %rdi # sched: [2:0.67] 1562; SANDY-NEXT: cmovpq %rsi, %rdi # sched: [2:0.67] 1563; SANDY-NEXT: cmovpq %rsi, %rdi # sched: [2:0.67] 1564; SANDY-NEXT: cmovnpq %rsi, %rdi # sched: [2:0.67] 1565; SANDY-NEXT: cmovnpq %rsi, %rdi # sched: [2:0.67] 1566; SANDY-NEXT: cmovlq %rsi, %rdi # sched: [2:0.67] 1567; SANDY-NEXT: cmovlq %rsi, %rdi # sched: [2:0.67] 1568; SANDY-NEXT: cmovgeq %rsi, %rdi # sched: [2:0.67] 1569; SANDY-NEXT: cmovgeq %rsi, %rdi # sched: [2:0.67] 1570; SANDY-NEXT: cmovleq %rsi, %rdi # sched: [2:0.67] 1571; SANDY-NEXT: cmovleq %rsi, %rdi # sched: [2:0.67] 1572; SANDY-NEXT: cmovgq %rsi, %rdi # sched: [2:0.67] 1573; SANDY-NEXT: cmovgq %rsi, %rdi # sched: [2:0.67] 1574; SANDY-NEXT: cmovoq (%rdx), %rdi # sched: [7:0.67] 1575; SANDY-NEXT: cmovnoq (%rdx), %rdi # sched: [7:0.67] 1576; SANDY-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.67] 1577; SANDY-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.67] 1578; SANDY-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.67] 1579; SANDY-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.67] 1580; SANDY-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.67] 1581; SANDY-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.67] 1582; SANDY-NEXT: cmoveq (%rdx), %rdi # sched: [7:0.67] 1583; SANDY-NEXT: cmoveq (%rdx), %rdi # sched: [7:0.67] 1584; SANDY-NEXT: cmovneq (%rdx), %rdi # sched: [7:0.67] 1585; SANDY-NEXT: cmovneq (%rdx), %rdi # sched: [7:0.67] 1586; SANDY-NEXT: cmovbeq (%rdx), %rdi # sched: [8:1.00] 1587; SANDY-NEXT: cmovbeq (%rdx), %rdi # sched: [8:1.00] 1588; SANDY-NEXT: cmovaq (%rdx), %rdi # sched: [8:1.00] 1589; SANDY-NEXT: cmovaq (%rdx), %rdi # sched: [8:1.00] 1590; SANDY-NEXT: cmovsq (%rdx), %rdi # sched: [7:0.67] 1591; SANDY-NEXT: cmovnsq (%rdx), %rdi # sched: [7:0.67] 1592; SANDY-NEXT: cmovpq (%rdx), %rdi # sched: [7:0.67] 1593; SANDY-NEXT: cmovpq (%rdx), %rdi # sched: [7:0.67] 1594; SANDY-NEXT: cmovnpq (%rdx), %rdi # sched: [7:0.67] 1595; SANDY-NEXT: cmovnpq (%rdx), %rdi # sched: [7:0.67] 1596; SANDY-NEXT: cmovlq (%rdx), %rdi # sched: [7:0.67] 1597; SANDY-NEXT: cmovlq (%rdx), %rdi # sched: [7:0.67] 1598; SANDY-NEXT: cmovgeq (%rdx), %rdi # sched: [7:0.67] 1599; SANDY-NEXT: cmovgeq (%rdx), %rdi # sched: [7:0.67] 1600; SANDY-NEXT: cmovleq (%rdx), %rdi # sched: [7:0.67] 1601; SANDY-NEXT: cmovleq (%rdx), %rdi # sched: [7:0.67] 1602; SANDY-NEXT: cmovgq (%rdx), %rdi # sched: [7:0.67] 1603; SANDY-NEXT: cmovgq (%rdx), %rdi # sched: [7:0.67] 1604; SANDY-NEXT: #NO_APP 1605; SANDY-NEXT: retq # sched: [1:1.00] 1606; 1607; HASWELL-LABEL: test_cmov_64: 1608; HASWELL: # %bb.0: 1609; HASWELL-NEXT: #APP 1610; HASWELL-NEXT: cmovoq %rsi, %rdi # sched: [2:0.50] 1611; HASWELL-NEXT: cmovnoq %rsi, %rdi # sched: [2:0.50] 1612; HASWELL-NEXT: cmovbq %rsi, %rdi # sched: [2:0.50] 1613; HASWELL-NEXT: cmovbq %rsi, %rdi # sched: [2:0.50] 1614; HASWELL-NEXT: cmovbq %rsi, %rdi # sched: [2:0.50] 1615; HASWELL-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.50] 1616; HASWELL-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.50] 1617; HASWELL-NEXT: cmovaeq %rsi, %rdi # sched: [2:0.50] 1618; HASWELL-NEXT: cmoveq %rsi, %rdi # sched: [2:0.50] 1619; HASWELL-NEXT: cmoveq %rsi, %rdi # sched: [2:0.50] 1620; HASWELL-NEXT: cmovneq %rsi, %rdi # sched: [2:0.50] 1621; HASWELL-NEXT: cmovneq %rsi, %rdi # sched: [2:0.50] 1622; HASWELL-NEXT: cmovbeq %rsi, %rdi # sched: [3:0.75] 1623; HASWELL-NEXT: cmovbeq %rsi, %rdi # sched: [3:0.75] 1624; HASWELL-NEXT: cmovaq %rsi, %rdi # sched: [3:0.75] 1625; HASWELL-NEXT: cmovaq %rsi, %rdi # sched: [3:0.75] 1626; HASWELL-NEXT: cmovsq %rsi, %rdi # sched: [2:0.50] 1627; HASWELL-NEXT: cmovnsq %rsi, %rdi # sched: [2:0.50] 1628; HASWELL-NEXT: cmovpq %rsi, %rdi # sched: [2:0.50] 1629; HASWELL-NEXT: cmovpq %rsi, %rdi # sched: [2:0.50] 1630; HASWELL-NEXT: cmovnpq %rsi, %rdi # sched: [2:0.50] 1631; HASWELL-NEXT: cmovnpq %rsi, %rdi # sched: [2:0.50] 1632; HASWELL-NEXT: cmovlq %rsi, %rdi # sched: [2:0.50] 1633; HASWELL-NEXT: cmovlq %rsi, %rdi # sched: [2:0.50] 1634; HASWELL-NEXT: cmovgeq %rsi, %rdi # sched: [2:0.50] 1635; HASWELL-NEXT: cmovgeq %rsi, %rdi # sched: [2:0.50] 1636; HASWELL-NEXT: cmovleq %rsi, %rdi # sched: [2:0.50] 1637; HASWELL-NEXT: cmovleq %rsi, %rdi # sched: [2:0.50] 1638; HASWELL-NEXT: cmovgq %rsi, %rdi # sched: [2:0.50] 1639; HASWELL-NEXT: cmovgq %rsi, %rdi # sched: [2:0.50] 1640; HASWELL-NEXT: cmovoq (%rdx), %rdi # sched: [7:0.50] 1641; HASWELL-NEXT: cmovnoq (%rdx), %rdi # sched: [7:0.50] 1642; HASWELL-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.50] 1643; HASWELL-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.50] 1644; HASWELL-NEXT: cmovbq (%rdx), %rdi # sched: [7:0.50] 1645; HASWELL-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.50] 1646; HASWELL-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.50] 1647; HASWELL-NEXT: cmovaeq (%rdx), %rdi # sched: [7:0.50] 1648; HASWELL-NEXT: cmoveq (%rdx), %rdi # sched: [7:0.50] 1649; HASWELL-NEXT: cmoveq (%rdx), %rdi # sched: [7:0.50] 1650; HASWELL-NEXT: cmovneq (%rdx), %rdi # sched: [7:0.50] 1651; HASWELL-NEXT: cmovneq (%rdx), %rdi # sched: [7:0.50] 1652; HASWELL-NEXT: cmovbeq (%rdx), %rdi # sched: [8:0.75] 1653; HASWELL-NEXT: cmovbeq (%rdx), %rdi # sched: [8:0.75] 1654; HASWELL-NEXT: cmovaq (%rdx), %rdi # sched: [8:0.75] 1655; HASWELL-NEXT: cmovaq (%rdx), %rdi # sched: [8:0.75] 1656; HASWELL-NEXT: cmovsq (%rdx), %rdi # sched: [7:0.50] 1657; HASWELL-NEXT: cmovnsq (%rdx), %rdi # sched: [7:0.50] 1658; HASWELL-NEXT: cmovpq (%rdx), %rdi # sched: [7:0.50] 1659; HASWELL-NEXT: cmovpq (%rdx), %rdi # sched: [7:0.50] 1660; HASWELL-NEXT: cmovnpq (%rdx), %rdi # sched: [7:0.50] 1661; HASWELL-NEXT: cmovnpq (%rdx), %rdi # sched: [7:0.50] 1662; HASWELL-NEXT: cmovlq (%rdx), %rdi # sched: [7:0.50] 1663; HASWELL-NEXT: cmovlq (%rdx), %rdi # sched: [7:0.50] 1664; HASWELL-NEXT: cmovgeq (%rdx), %rdi # sched: [7:0.50] 1665; HASWELL-NEXT: cmovgeq (%rdx), %rdi # sched: [7:0.50] 1666; HASWELL-NEXT: cmovleq (%rdx), %rdi # sched: [7:0.50] 1667; HASWELL-NEXT: cmovleq (%rdx), %rdi # sched: [7:0.50] 1668; HASWELL-NEXT: cmovgq (%rdx), %rdi # sched: [7:0.50] 1669; HASWELL-NEXT: cmovgq (%rdx), %rdi # sched: [7:0.50] 1670; HASWELL-NEXT: #NO_APP 1671; HASWELL-NEXT: retq # sched: [7:1.00] 1672; 1673; BROADWELL-LABEL: test_cmov_64: 1674; BROADWELL: # %bb.0: 1675; BROADWELL-NEXT: #APP 1676; BROADWELL-NEXT: cmovoq %rsi, %rdi # sched: [1:0.50] 1677; BROADWELL-NEXT: cmovnoq %rsi, %rdi # sched: [1:0.50] 1678; BROADWELL-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1679; BROADWELL-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1680; BROADWELL-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1681; BROADWELL-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1682; BROADWELL-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1683; BROADWELL-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1684; BROADWELL-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1685; BROADWELL-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1686; BROADWELL-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1687; BROADWELL-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1688; BROADWELL-NEXT: cmovbeq %rsi, %rdi # sched: [2:0.50] 1689; BROADWELL-NEXT: cmovbeq %rsi, %rdi # sched: [2:0.50] 1690; BROADWELL-NEXT: cmovaq %rsi, %rdi # sched: [2:0.50] 1691; BROADWELL-NEXT: cmovaq %rsi, %rdi # sched: [2:0.50] 1692; BROADWELL-NEXT: cmovsq %rsi, %rdi # sched: [1:0.50] 1693; BROADWELL-NEXT: cmovnsq %rsi, %rdi # sched: [1:0.50] 1694; BROADWELL-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1695; BROADWELL-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1696; BROADWELL-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1697; BROADWELL-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1698; BROADWELL-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1699; BROADWELL-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1700; BROADWELL-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1701; BROADWELL-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1702; BROADWELL-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1703; BROADWELL-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1704; BROADWELL-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1705; BROADWELL-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1706; BROADWELL-NEXT: cmovoq (%rdx), %rdi # sched: [6:0.50] 1707; BROADWELL-NEXT: cmovnoq (%rdx), %rdi # sched: [6:0.50] 1708; BROADWELL-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1709; BROADWELL-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1710; BROADWELL-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1711; BROADWELL-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1712; BROADWELL-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1713; BROADWELL-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1714; BROADWELL-NEXT: cmoveq (%rdx), %rdi # sched: [6:0.50] 1715; BROADWELL-NEXT: cmoveq (%rdx), %rdi # sched: [6:0.50] 1716; BROADWELL-NEXT: cmovneq (%rdx), %rdi # sched: [6:0.50] 1717; BROADWELL-NEXT: cmovneq (%rdx), %rdi # sched: [6:0.50] 1718; BROADWELL-NEXT: cmovbeq (%rdx), %rdi # sched: [7:0.50] 1719; BROADWELL-NEXT: cmovbeq (%rdx), %rdi # sched: [7:0.50] 1720; BROADWELL-NEXT: cmovaq (%rdx), %rdi # sched: [7:0.50] 1721; BROADWELL-NEXT: cmovaq (%rdx), %rdi # sched: [7:0.50] 1722; BROADWELL-NEXT: cmovsq (%rdx), %rdi # sched: [6:0.50] 1723; BROADWELL-NEXT: cmovnsq (%rdx), %rdi # sched: [6:0.50] 1724; BROADWELL-NEXT: cmovpq (%rdx), %rdi # sched: [6:0.50] 1725; BROADWELL-NEXT: cmovpq (%rdx), %rdi # sched: [6:0.50] 1726; BROADWELL-NEXT: cmovnpq (%rdx), %rdi # sched: [6:0.50] 1727; BROADWELL-NEXT: cmovnpq (%rdx), %rdi # sched: [6:0.50] 1728; BROADWELL-NEXT: cmovlq (%rdx), %rdi # sched: [6:0.50] 1729; BROADWELL-NEXT: cmovlq (%rdx), %rdi # sched: [6:0.50] 1730; BROADWELL-NEXT: cmovgeq (%rdx), %rdi # sched: [6:0.50] 1731; BROADWELL-NEXT: cmovgeq (%rdx), %rdi # sched: [6:0.50] 1732; BROADWELL-NEXT: cmovleq (%rdx), %rdi # sched: [6:0.50] 1733; BROADWELL-NEXT: cmovleq (%rdx), %rdi # sched: [6:0.50] 1734; BROADWELL-NEXT: cmovgq (%rdx), %rdi # sched: [6:0.50] 1735; BROADWELL-NEXT: cmovgq (%rdx), %rdi # sched: [6:0.50] 1736; BROADWELL-NEXT: #NO_APP 1737; BROADWELL-NEXT: retq # sched: [7:1.00] 1738; 1739; SKYLAKE-LABEL: test_cmov_64: 1740; SKYLAKE: # %bb.0: 1741; SKYLAKE-NEXT: #APP 1742; SKYLAKE-NEXT: cmovoq %rsi, %rdi # sched: [1:0.50] 1743; SKYLAKE-NEXT: cmovnoq %rsi, %rdi # sched: [1:0.50] 1744; SKYLAKE-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1745; SKYLAKE-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1746; SKYLAKE-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1747; SKYLAKE-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1748; SKYLAKE-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1749; SKYLAKE-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1750; SKYLAKE-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1751; SKYLAKE-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1752; SKYLAKE-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1753; SKYLAKE-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1754; SKYLAKE-NEXT: cmovbeq %rsi, %rdi # sched: [2:1.00] 1755; SKYLAKE-NEXT: cmovbeq %rsi, %rdi # sched: [2:1.00] 1756; SKYLAKE-NEXT: cmovaq %rsi, %rdi # sched: [2:1.00] 1757; SKYLAKE-NEXT: cmovaq %rsi, %rdi # sched: [2:1.00] 1758; SKYLAKE-NEXT: cmovsq %rsi, %rdi # sched: [1:0.50] 1759; SKYLAKE-NEXT: cmovnsq %rsi, %rdi # sched: [1:0.50] 1760; SKYLAKE-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1761; SKYLAKE-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1762; SKYLAKE-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1763; SKYLAKE-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1764; SKYLAKE-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1765; SKYLAKE-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1766; SKYLAKE-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1767; SKYLAKE-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1768; SKYLAKE-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1769; SKYLAKE-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1770; SKYLAKE-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1771; SKYLAKE-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1772; SKYLAKE-NEXT: cmovoq (%rdx), %rdi # sched: [6:0.50] 1773; SKYLAKE-NEXT: cmovnoq (%rdx), %rdi # sched: [6:0.50] 1774; SKYLAKE-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1775; SKYLAKE-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1776; SKYLAKE-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1777; SKYLAKE-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1778; SKYLAKE-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1779; SKYLAKE-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1780; SKYLAKE-NEXT: cmoveq (%rdx), %rdi # sched: [6:0.50] 1781; SKYLAKE-NEXT: cmoveq (%rdx), %rdi # sched: [6:0.50] 1782; SKYLAKE-NEXT: cmovneq (%rdx), %rdi # sched: [6:0.50] 1783; SKYLAKE-NEXT: cmovneq (%rdx), %rdi # sched: [6:0.50] 1784; SKYLAKE-NEXT: cmovbeq (%rdx), %rdi # sched: [7:1.00] 1785; SKYLAKE-NEXT: cmovbeq (%rdx), %rdi # sched: [7:1.00] 1786; SKYLAKE-NEXT: cmovaq (%rdx), %rdi # sched: [7:1.00] 1787; SKYLAKE-NEXT: cmovaq (%rdx), %rdi # sched: [7:1.00] 1788; SKYLAKE-NEXT: cmovsq (%rdx), %rdi # sched: [6:0.50] 1789; SKYLAKE-NEXT: cmovnsq (%rdx), %rdi # sched: [6:0.50] 1790; SKYLAKE-NEXT: cmovpq (%rdx), %rdi # sched: [6:0.50] 1791; SKYLAKE-NEXT: cmovpq (%rdx), %rdi # sched: [6:0.50] 1792; SKYLAKE-NEXT: cmovnpq (%rdx), %rdi # sched: [6:0.50] 1793; SKYLAKE-NEXT: cmovnpq (%rdx), %rdi # sched: [6:0.50] 1794; SKYLAKE-NEXT: cmovlq (%rdx), %rdi # sched: [6:0.50] 1795; SKYLAKE-NEXT: cmovlq (%rdx), %rdi # sched: [6:0.50] 1796; SKYLAKE-NEXT: cmovgeq (%rdx), %rdi # sched: [6:0.50] 1797; SKYLAKE-NEXT: cmovgeq (%rdx), %rdi # sched: [6:0.50] 1798; SKYLAKE-NEXT: cmovleq (%rdx), %rdi # sched: [6:0.50] 1799; SKYLAKE-NEXT: cmovleq (%rdx), %rdi # sched: [6:0.50] 1800; SKYLAKE-NEXT: cmovgq (%rdx), %rdi # sched: [6:0.50] 1801; SKYLAKE-NEXT: cmovgq (%rdx), %rdi # sched: [6:0.50] 1802; SKYLAKE-NEXT: #NO_APP 1803; SKYLAKE-NEXT: retq # sched: [7:1.00] 1804; 1805; SKX-LABEL: test_cmov_64: 1806; SKX: # %bb.0: 1807; SKX-NEXT: #APP 1808; SKX-NEXT: cmovoq %rsi, %rdi # sched: [1:0.50] 1809; SKX-NEXT: cmovnoq %rsi, %rdi # sched: [1:0.50] 1810; SKX-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1811; SKX-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1812; SKX-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1813; SKX-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1814; SKX-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1815; SKX-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1816; SKX-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1817; SKX-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1818; SKX-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1819; SKX-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1820; SKX-NEXT: cmovbeq %rsi, %rdi # sched: [2:1.00] 1821; SKX-NEXT: cmovbeq %rsi, %rdi # sched: [2:1.00] 1822; SKX-NEXT: cmovaq %rsi, %rdi # sched: [2:1.00] 1823; SKX-NEXT: cmovaq %rsi, %rdi # sched: [2:1.00] 1824; SKX-NEXT: cmovsq %rsi, %rdi # sched: [1:0.50] 1825; SKX-NEXT: cmovnsq %rsi, %rdi # sched: [1:0.50] 1826; SKX-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1827; SKX-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1828; SKX-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1829; SKX-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1830; SKX-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1831; SKX-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1832; SKX-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1833; SKX-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1834; SKX-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1835; SKX-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1836; SKX-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1837; SKX-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1838; SKX-NEXT: cmovoq (%rdx), %rdi # sched: [6:0.50] 1839; SKX-NEXT: cmovnoq (%rdx), %rdi # sched: [6:0.50] 1840; SKX-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1841; SKX-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1842; SKX-NEXT: cmovbq (%rdx), %rdi # sched: [6:0.50] 1843; SKX-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1844; SKX-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1845; SKX-NEXT: cmovaeq (%rdx), %rdi # sched: [6:0.50] 1846; SKX-NEXT: cmoveq (%rdx), %rdi # sched: [6:0.50] 1847; SKX-NEXT: cmoveq (%rdx), %rdi # sched: [6:0.50] 1848; SKX-NEXT: cmovneq (%rdx), %rdi # sched: [6:0.50] 1849; SKX-NEXT: cmovneq (%rdx), %rdi # sched: [6:0.50] 1850; SKX-NEXT: cmovbeq (%rdx), %rdi # sched: [7:1.00] 1851; SKX-NEXT: cmovbeq (%rdx), %rdi # sched: [7:1.00] 1852; SKX-NEXT: cmovaq (%rdx), %rdi # sched: [7:1.00] 1853; SKX-NEXT: cmovaq (%rdx), %rdi # sched: [7:1.00] 1854; SKX-NEXT: cmovsq (%rdx), %rdi # sched: [6:0.50] 1855; SKX-NEXT: cmovnsq (%rdx), %rdi # sched: [6:0.50] 1856; SKX-NEXT: cmovpq (%rdx), %rdi # sched: [6:0.50] 1857; SKX-NEXT: cmovpq (%rdx), %rdi # sched: [6:0.50] 1858; SKX-NEXT: cmovnpq (%rdx), %rdi # sched: [6:0.50] 1859; SKX-NEXT: cmovnpq (%rdx), %rdi # sched: [6:0.50] 1860; SKX-NEXT: cmovlq (%rdx), %rdi # sched: [6:0.50] 1861; SKX-NEXT: cmovlq (%rdx), %rdi # sched: [6:0.50] 1862; SKX-NEXT: cmovgeq (%rdx), %rdi # sched: [6:0.50] 1863; SKX-NEXT: cmovgeq (%rdx), %rdi # sched: [6:0.50] 1864; SKX-NEXT: cmovleq (%rdx), %rdi # sched: [6:0.50] 1865; SKX-NEXT: cmovleq (%rdx), %rdi # sched: [6:0.50] 1866; SKX-NEXT: cmovgq (%rdx), %rdi # sched: [6:0.50] 1867; SKX-NEXT: cmovgq (%rdx), %rdi # sched: [6:0.50] 1868; SKX-NEXT: #NO_APP 1869; SKX-NEXT: retq # sched: [7:1.00] 1870; 1871; BTVER2-LABEL: test_cmov_64: 1872; BTVER2: # %bb.0: 1873; BTVER2-NEXT: #APP 1874; BTVER2-NEXT: cmovoq %rsi, %rdi # sched: [1:0.50] 1875; BTVER2-NEXT: cmovnoq %rsi, %rdi # sched: [1:0.50] 1876; BTVER2-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1877; BTVER2-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1878; BTVER2-NEXT: cmovbq %rsi, %rdi # sched: [1:0.50] 1879; BTVER2-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1880; BTVER2-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1881; BTVER2-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.50] 1882; BTVER2-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1883; BTVER2-NEXT: cmoveq %rsi, %rdi # sched: [1:0.50] 1884; BTVER2-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1885; BTVER2-NEXT: cmovneq %rsi, %rdi # sched: [1:0.50] 1886; BTVER2-NEXT: cmovbeq %rsi, %rdi # sched: [1:0.50] 1887; BTVER2-NEXT: cmovbeq %rsi, %rdi # sched: [1:0.50] 1888; BTVER2-NEXT: cmovaq %rsi, %rdi # sched: [1:0.50] 1889; BTVER2-NEXT: cmovaq %rsi, %rdi # sched: [1:0.50] 1890; BTVER2-NEXT: cmovsq %rsi, %rdi # sched: [1:0.50] 1891; BTVER2-NEXT: cmovnsq %rsi, %rdi # sched: [1:0.50] 1892; BTVER2-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1893; BTVER2-NEXT: cmovpq %rsi, %rdi # sched: [1:0.50] 1894; BTVER2-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1895; BTVER2-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.50] 1896; BTVER2-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1897; BTVER2-NEXT: cmovlq %rsi, %rdi # sched: [1:0.50] 1898; BTVER2-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1899; BTVER2-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.50] 1900; BTVER2-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1901; BTVER2-NEXT: cmovleq %rsi, %rdi # sched: [1:0.50] 1902; BTVER2-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1903; BTVER2-NEXT: cmovgq %rsi, %rdi # sched: [1:0.50] 1904; BTVER2-NEXT: cmovoq (%rdx), %rdi # sched: [4:1.00] 1905; BTVER2-NEXT: cmovnoq (%rdx), %rdi # sched: [4:1.00] 1906; BTVER2-NEXT: cmovbq (%rdx), %rdi # sched: [4:1.00] 1907; BTVER2-NEXT: cmovbq (%rdx), %rdi # sched: [4:1.00] 1908; BTVER2-NEXT: cmovbq (%rdx), %rdi # sched: [4:1.00] 1909; BTVER2-NEXT: cmovaeq (%rdx), %rdi # sched: [4:1.00] 1910; BTVER2-NEXT: cmovaeq (%rdx), %rdi # sched: [4:1.00] 1911; BTVER2-NEXT: cmovaeq (%rdx), %rdi # sched: [4:1.00] 1912; BTVER2-NEXT: cmoveq (%rdx), %rdi # sched: [4:1.00] 1913; BTVER2-NEXT: cmoveq (%rdx), %rdi # sched: [4:1.00] 1914; BTVER2-NEXT: cmovneq (%rdx), %rdi # sched: [4:1.00] 1915; BTVER2-NEXT: cmovneq (%rdx), %rdi # sched: [4:1.00] 1916; BTVER2-NEXT: cmovbeq (%rdx), %rdi # sched: [4:1.00] 1917; BTVER2-NEXT: cmovbeq (%rdx), %rdi # sched: [4:1.00] 1918; BTVER2-NEXT: cmovaq (%rdx), %rdi # sched: [4:1.00] 1919; BTVER2-NEXT: cmovaq (%rdx), %rdi # sched: [4:1.00] 1920; BTVER2-NEXT: cmovsq (%rdx), %rdi # sched: [4:1.00] 1921; BTVER2-NEXT: cmovnsq (%rdx), %rdi # sched: [4:1.00] 1922; BTVER2-NEXT: cmovpq (%rdx), %rdi # sched: [4:1.00] 1923; BTVER2-NEXT: cmovpq (%rdx), %rdi # sched: [4:1.00] 1924; BTVER2-NEXT: cmovnpq (%rdx), %rdi # sched: [4:1.00] 1925; BTVER2-NEXT: cmovnpq (%rdx), %rdi # sched: [4:1.00] 1926; BTVER2-NEXT: cmovlq (%rdx), %rdi # sched: [4:1.00] 1927; BTVER2-NEXT: cmovlq (%rdx), %rdi # sched: [4:1.00] 1928; BTVER2-NEXT: cmovgeq (%rdx), %rdi # sched: [4:1.00] 1929; BTVER2-NEXT: cmovgeq (%rdx), %rdi # sched: [4:1.00] 1930; BTVER2-NEXT: cmovleq (%rdx), %rdi # sched: [4:1.00] 1931; BTVER2-NEXT: cmovleq (%rdx), %rdi # sched: [4:1.00] 1932; BTVER2-NEXT: cmovgq (%rdx), %rdi # sched: [4:1.00] 1933; BTVER2-NEXT: cmovgq (%rdx), %rdi # sched: [4:1.00] 1934; BTVER2-NEXT: #NO_APP 1935; BTVER2-NEXT: retq # sched: [4:1.00] 1936; 1937; ZNVER1-LABEL: test_cmov_64: 1938; ZNVER1: # %bb.0: 1939; ZNVER1-NEXT: #APP 1940; ZNVER1-NEXT: cmovoq %rsi, %rdi # sched: [1:0.25] 1941; ZNVER1-NEXT: cmovnoq %rsi, %rdi # sched: [1:0.25] 1942; ZNVER1-NEXT: cmovbq %rsi, %rdi # sched: [1:0.25] 1943; ZNVER1-NEXT: cmovbq %rsi, %rdi # sched: [1:0.25] 1944; ZNVER1-NEXT: cmovbq %rsi, %rdi # sched: [1:0.25] 1945; ZNVER1-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.25] 1946; ZNVER1-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.25] 1947; ZNVER1-NEXT: cmovaeq %rsi, %rdi # sched: [1:0.25] 1948; ZNVER1-NEXT: cmoveq %rsi, %rdi # sched: [1:0.25] 1949; ZNVER1-NEXT: cmoveq %rsi, %rdi # sched: [1:0.25] 1950; ZNVER1-NEXT: cmovneq %rsi, %rdi # sched: [1:0.25] 1951; ZNVER1-NEXT: cmovneq %rsi, %rdi # sched: [1:0.25] 1952; ZNVER1-NEXT: cmovbeq %rsi, %rdi # sched: [1:0.25] 1953; ZNVER1-NEXT: cmovbeq %rsi, %rdi # sched: [1:0.25] 1954; ZNVER1-NEXT: cmovaq %rsi, %rdi # sched: [1:0.25] 1955; ZNVER1-NEXT: cmovaq %rsi, %rdi # sched: [1:0.25] 1956; ZNVER1-NEXT: cmovsq %rsi, %rdi # sched: [1:0.25] 1957; ZNVER1-NEXT: cmovnsq %rsi, %rdi # sched: [1:0.25] 1958; ZNVER1-NEXT: cmovpq %rsi, %rdi # sched: [1:0.25] 1959; ZNVER1-NEXT: cmovpq %rsi, %rdi # sched: [1:0.25] 1960; ZNVER1-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.25] 1961; ZNVER1-NEXT: cmovnpq %rsi, %rdi # sched: [1:0.25] 1962; ZNVER1-NEXT: cmovlq %rsi, %rdi # sched: [1:0.25] 1963; ZNVER1-NEXT: cmovlq %rsi, %rdi # sched: [1:0.25] 1964; ZNVER1-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.25] 1965; ZNVER1-NEXT: cmovgeq %rsi, %rdi # sched: [1:0.25] 1966; ZNVER1-NEXT: cmovleq %rsi, %rdi # sched: [1:0.25] 1967; ZNVER1-NEXT: cmovleq %rsi, %rdi # sched: [1:0.25] 1968; ZNVER1-NEXT: cmovgq %rsi, %rdi # sched: [1:0.25] 1969; ZNVER1-NEXT: cmovgq %rsi, %rdi # sched: [1:0.25] 1970; ZNVER1-NEXT: cmovoq (%rdx), %rdi # sched: [5:0.50] 1971; ZNVER1-NEXT: cmovnoq (%rdx), %rdi # sched: [5:0.50] 1972; ZNVER1-NEXT: cmovbq (%rdx), %rdi # sched: [5:0.50] 1973; ZNVER1-NEXT: cmovbq (%rdx), %rdi # sched: [5:0.50] 1974; ZNVER1-NEXT: cmovbq (%rdx), %rdi # sched: [5:0.50] 1975; ZNVER1-NEXT: cmovaeq (%rdx), %rdi # sched: [5:0.50] 1976; ZNVER1-NEXT: cmovaeq (%rdx), %rdi # sched: [5:0.50] 1977; ZNVER1-NEXT: cmovaeq (%rdx), %rdi # sched: [5:0.50] 1978; ZNVER1-NEXT: cmoveq (%rdx), %rdi # sched: [5:0.50] 1979; ZNVER1-NEXT: cmoveq (%rdx), %rdi # sched: [5:0.50] 1980; ZNVER1-NEXT: cmovneq (%rdx), %rdi # sched: [5:0.50] 1981; ZNVER1-NEXT: cmovneq (%rdx), %rdi # sched: [5:0.50] 1982; ZNVER1-NEXT: cmovbeq (%rdx), %rdi # sched: [5:0.50] 1983; ZNVER1-NEXT: cmovbeq (%rdx), %rdi # sched: [5:0.50] 1984; ZNVER1-NEXT: cmovaq (%rdx), %rdi # sched: [5:0.50] 1985; ZNVER1-NEXT: cmovaq (%rdx), %rdi # sched: [5:0.50] 1986; ZNVER1-NEXT: cmovsq (%rdx), %rdi # sched: [5:0.50] 1987; ZNVER1-NEXT: cmovnsq (%rdx), %rdi # sched: [5:0.50] 1988; ZNVER1-NEXT: cmovpq (%rdx), %rdi # sched: [5:0.50] 1989; ZNVER1-NEXT: cmovpq (%rdx), %rdi # sched: [5:0.50] 1990; ZNVER1-NEXT: cmovnpq (%rdx), %rdi # sched: [5:0.50] 1991; ZNVER1-NEXT: cmovnpq (%rdx), %rdi # sched: [5:0.50] 1992; ZNVER1-NEXT: cmovlq (%rdx), %rdi # sched: [5:0.50] 1993; ZNVER1-NEXT: cmovlq (%rdx), %rdi # sched: [5:0.50] 1994; ZNVER1-NEXT: cmovgeq (%rdx), %rdi # sched: [5:0.50] 1995; ZNVER1-NEXT: cmovgeq (%rdx), %rdi # sched: [5:0.50] 1996; ZNVER1-NEXT: cmovleq (%rdx), %rdi # sched: [5:0.50] 1997; ZNVER1-NEXT: cmovleq (%rdx), %rdi # sched: [5:0.50] 1998; ZNVER1-NEXT: cmovgq (%rdx), %rdi # sched: [5:0.50] 1999; ZNVER1-NEXT: cmovgq (%rdx), %rdi # sched: [5:0.50] 2000; ZNVER1-NEXT: #NO_APP 2001; ZNVER1-NEXT: retq # sched: [1:0.50] 2002 call void asm sideeffect "cmovoq $1, $0 \0A\09 cmovnoq $1, $0 \0A\09 cmovbq $1, $0 \0A\09 cmovcq $1, $0 \0A\09 cmovnaeq $1, $0 \0A\09 cmovnbq $1, $0 \0A\09 cmovncq $1, $0 \0A\09 cmovaeq $1, $0 \0A\09 cmovzq $1, $0 \0A\09 cmoveq $1, $0 \0A\09 cmovnzq $1, $0 \0A\09 cmovneq $1, $0 \0A\09 cmovbeq $1, $0 \0A\09 cmovnaq $1, $0 \0A\09 cmovnbeq $1, $0 \0A\09 cmovaq $1, $0 \0A\09 cmovsq $1, $0 \0A\09 cmovnsq $1, $0 \0A\09 cmovpq $1, $0 \0A\09 cmovpeq $1, $0 \0A\09 cmovnpq $1, $0 \0A\09 cmovpoq $1, $0 \0A\09 cmovlq $1, $0 \0A\09 cmovngeq $1, $0 \0A\09 cmovnlq $1, $0 \0A\09 cmovgeq $1, $0 \0A\09 cmovleq $1, $0 \0A\09 cmovngq $1, $0 \0A\09 cmovnleq $1, $0 \0A\09 cmovgq $1, $0 \0A\09 cmovoq $2, $0 \0A\09 cmovnoq $2, $0 \0A\09 cmovbq $2, $0 \0A\09 cmovcq $2, $0 \0A\09 cmovnaeq $2, $0 \0A\09 cmovnbq $2, $0 \0A\09 cmovncq $2, $0 \0A\09 cmovaeq $2, $0 \0A\09 cmovzq $2, $0 \0A\09 cmoveq $2, $0 \0A\09 cmovnzq $2, $0 \0A\09 cmovneq $2, $0 \0A\09 cmovbeq $2, $0 \0A\09 cmovnaq $2, $0 \0A\09 cmovnbeq $2, $0 \0A\09 cmovaq $2, $0 \0A\09 cmovsq $2, $0 \0A\09 cmovnsq $2, $0 \0A\09 cmovpq $2, $0 \0A\09 cmovpeq $2, $0 \0A\09 cmovnpq $2, $0 \0A\09 cmovpoq $2, $0 \0A\09 cmovlq $2, $0 \0A\09 cmovngeq $2, $0 \0A\09 cmovnlq $2, $0 \0A\09 cmovgeq $2, $0 \0A\09 cmovleq $2, $0 \0A\09 cmovngq $2, $0 \0A\09 cmovnleq $2, $0 \0A\09 cmovgq $2, $0", "r,r,*m"(i64 %a0, i64 %a1, i64 *%a2) 2003 ret void 2004} 2005