Vikram S. Adve | bd6161d | 2003-05-28 13:54:41 +0000 | [diff] [blame] | 1 | ;; Date: May 28, 2003. |
| 2 | ;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c |
| 3 | ;; Function: Matrix QRiterate(Matrix A, Matrix U) |
| 4 | ;; |
| 5 | ;; Error: llc produces an invalid register <NULL VALUE> for the |
| 6 | ;; phi argument %tmp.213 produced by fcmpd: |
| 7 | ;; |
| 8 | ;; LLC Output: |
| 9 | ;; |
| 10 | ;; !****** Outputing Function: QRiterate_1 ****** |
| 11 | ;; |
| 12 | ;; .section ".text" |
| 13 | ;; .align 4 |
| 14 | ;; .global QRiterate_1 |
| 15 | ;; .type QRiterate_1, 2 |
| 16 | ;; QRiterate_1: |
| 17 | ;; .L_QRiterate_1_LL_0: |
| 18 | ;; save %o6, -192, %o6 |
| 19 | ;; brgz %i0, .L_QRiterate_1_LL_1 |
| 20 | ;; add %g0, %g0, %o0 |
| 21 | ;; ba .L_QRiterate_1_LL_2 |
| 22 | ;; nop |
| 23 | ;; |
| 24 | ;; .L_QRiterate_1_LL_1: |
| 25 | ;; sethi %lm(LLVMGlobal__2), %o1 |
| 26 | ;; sethi %hh(LLVMGlobal__2), %o0 |
| 27 | ;; or %o0, %hm(LLVMGlobal__2), %o0 |
| 28 | ;; sllx %o0, 32, %o0 |
| 29 | ;; or %o1, %o0, %o1 |
| 30 | ;; or %o1, %lo(LLVMGlobal__2), %o1 |
| 31 | ;; ldd [%o1+0], %f32 |
| 32 | ;; fcmpd %fcc0, %f2, %f32 |
| 33 | ;; ba .L_QRiterate_1_LL_2 |
| 34 | ;; add <NULL VALUE>, %g0, %o0 |
| 35 | ;; |
| 36 | ;; .L_QRiterate_1_LL_2: |
| 37 | ;; brnz %o0, .L_QRiterate_1_LL_1 |
| 38 | ;; nop |
| 39 | ;; ba .L_QRiterate_1_LL_3 |
| 40 | ;; nop |
| 41 | ;; |
| 42 | ;; .L_QRiterate_1_LL_3: |
| 43 | ;; jmpl %i7+8, %g0 |
| 44 | ;; restore %g0, 0, %g0 |
| 45 | ;; |
| 46 | ;; .EndOf_QRiterate_1: |
| 47 | ;; .size QRiterate_1, .EndOf_QRiterate_1-QRiterate_1 |
| 48 | ;; |
| 49 | |
| 50 | |
| 51 | target endian = big |
| 52 | target pointersize = 64 |
| 53 | |
| 54 | implementation ; Functions: |
| 55 | |
| 56 | internal void %QRiterate(int %p.1, double %tmp.212) { |
| 57 | entry: ; No predecessors! |
| 58 | %tmp.184 = setgt int %p.1, 0 ; <bool> [#uses=1] |
| 59 | br bool %tmp.184, label %shortcirc_next.1, label %shortcirc_done.1 |
| 60 | |
| 61 | shortcirc_next.1: ; preds = %entry |
| 62 | %tmp.213 = setne double %tmp.212, 0.000000e+00 |
| 63 | br label %shortcirc_done.1 |
| 64 | |
| 65 | shortcirc_done.1: ; preds = %entry, %shortcirc_next.1 |
| 66 | %val.1 = phi bool [ false, %entry ], [ %tmp.213, %shortcirc_next.1 ] |
| 67 | br bool %val.1, label %shortcirc_next.1, label %exit.1 |
| 68 | |
| 69 | exit.1: |
| 70 | ret void |
| 71 | } |