33 lines · plain
1; RUN: llc -mtriple=x86_64-- -no-integrated-as < %s | FileCheck %s2; PR37013 4define i64 @t(ptr %arg) nounwind {5 br i1 true, label %1, label %56 7; <label>:1 ; preds = %08 %2 = icmp eq ptr null, %arg ; <i1> [#uses=1]9 %3 = tail call ptr asm sideeffect "movl %fs:0,$0", "=r,~{dirflag},~{fpsr},~{flags}"() nounwind ; <ptr> [#uses=0]10; CHECK: test11; CHECK-NEXT: j12 br i1 %2, label %4, label %513 14; <label>:4 ; preds = %115 ret i64 116 17; <label>:5 ; preds = %118 ret i64 019}20 21; Make sure this lowers to inline assembly and is not translated to an22; intrinsic.23; CHECK: #APP24define i32 @s(i32 %argc, ptr nocapture %argv) unnamed_addr nounwind {25entry:26 %0 = trunc i32 %argc to i1627 %asmtmp = tail call i16 asm "rorw $$8, ${0:w}", "=r,0,~{fpsr},~{flags},~{cc}"(i16 %0) nounwind, !srcloc !028 %1 = zext i16 %asmtmp to i3229 ret i32 %130}31 32!0 = !{i64 935930}33