; RUN: llc -mtriple=i686-- < %s | FileCheck %s | |
; No attributes, should not use idiv | |
define i32 @test1(i32 inreg %x) { | |
entry: | |
%div = sdiv i32 %x, 16 | |
ret i32 %div | |
; CHECK-LABEL: test1: | |
; CHECK-NOT: idivl | |
; CHECK: ret | |
} | |
; Has minsize (-Oz) attribute, should generate idiv | |
define i32 @test2(i32 inreg %x) minsize { | |
entry: | |
%div = sdiv i32 %x, 16 | |
ret i32 %div | |
; CHECK-LABEL: test2: | |
; CHECK: idivl | |
; CHECK: ret | |
} | |
; Has optsize (-Os) attribute, should not generate idiv | |
define i32 @test3(i32 inreg %x) optsize { | |
entry: | |
%div = sdiv i32 %x, 16 | |
ret i32 %div | |
; CHECK-LABEL: test3: | |
; CHECK-NOT: idivl | |
; CHECK: ret | |
} | |