62 lines · plain
1; RUN: not llc -verify-machineinstrs -O0 < %s 2>&1 | FileCheck %s2; RUN: not llc -verify-machineinstrs -O2 < %s 2>&1 | FileCheck %s3; CHECK: error: inline assembly requires more registers than available4; CHECK: .size main, .Lfunc_end0-main5 6target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"7target triple = "x86_64-unknown-linux-gnu"8 9; Function Attrs: noinline nounwind optnone uwtable10define dso_local i32 @main() #0 {11entry:12 %r0 = alloca i32, align 413 %r1 = alloca i32, align 414 %r2 = alloca i32, align 415 %r3 = alloca i32, align 416 %r4 = alloca i32, align 417 %r5 = alloca i32, align 418 %r6 = alloca i32, align 419 %r7 = alloca i32, align 420 %r8 = alloca i32, align 421 %r9 = alloca i32, align 422 %r10 = alloca i32, align 423 %r11 = alloca i32, align 424 %r12 = alloca i32, align 425 %r13 = alloca i32, align 426 %r14 = alloca i32, align 427 %0 = call { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } asm "movl $$0, $0;movl $$1, $1;movl $$2, $2;movl $$3, $3;movl $$4, $4;movl $$5, $5;movl $$6, $6;movl $$7, $7;movl $$8, $8;movl $$9, $9;movl $$10, $10;movl $$11, $11;movl $$12, $12;movl $$13, $13;movl $$14, $14;", "=r,=r,=r,=r,=r,=r,=r,=r,=r,=r,=r,=r,=r,=r,=r,~{dirflag},~{fpsr},~{flags}"() #128 %asmresult = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 029 %asmresult1 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 130 %asmresult2 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 231 %asmresult3 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 332 %asmresult4 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 433 %asmresult5 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 534 %asmresult6 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 635 %asmresult7 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 736 %asmresult8 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 837 %asmresult9 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 938 %asmresult10 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 1039 %asmresult11 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 1140 %asmresult12 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 1241 %asmresult13 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 1342 %asmresult14 = extractvalue { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } %0, 1443 store i32 %asmresult, ptr %r0, align 444 store i32 %asmresult1, ptr %r1, align 445 store i32 %asmresult2, ptr %r2, align 446 store i32 %asmresult3, ptr %r3, align 447 store i32 %asmresult4, ptr %r4, align 448 store i32 %asmresult5, ptr %r5, align 449 store i32 %asmresult6, ptr %r6, align 450 store i32 %asmresult7, ptr %r7, align 451 store i32 %asmresult8, ptr %r8, align 452 store i32 %asmresult9, ptr %r9, align 453 store i32 %asmresult10, ptr %r10, align 454 store i32 %asmresult11, ptr %r11, align 455 store i32 %asmresult12, ptr %r12, align 456 store i32 %asmresult13, ptr %r13, align 457 store i32 %asmresult14, ptr %r14, align 458 ret i32 059}60 61attributes #0 = { "frame-pointer"="all" }62