1; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+idivl-to-divb < %s | FileCheck -check-prefix=DIV32 %s 2; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+idivq-to-divw < %s | FileCheck -check-prefix=DIV64 %s 3 4define i32 @div32(i32 %a, i32 %b) { 5entry: 6; DIV32-LABEL: div32: 7; DIV32: orl %{{.*}}, [[REG:%[a-z]+]] 8; DIV32: testl $-256, [[REG]] 9; DIV32: divb 10; DIV64-LABEL: div32: 11; DIV64-NOT: divb 12 %div = sdiv i32 %a, %b 13 ret i32 %div 14} 15 16define i64 @div64(i64 %a, i64 %b) { 17entry: 18; DIV32-LABEL: div64: 19; DIV32-NOT: divw 20; DIV64-LABEL: div64: 21; DIV64: orq %{{.*}}, [[REG:%[a-z]+]] 22; DIV64: testq $-65536, [[REG]] 23; DIV64: divw 24 %div = sdiv i64 %a, %b 25 ret i64 %div 26} 27 28 29