Chris Lattner | 83cdf40 | 2006-05-12 16:28:13 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -march=ppc32 |
| 2 | |
| 3 | %struct.attr_desc = type { sbyte*, %struct.attr_desc*, %struct.attr_value*, %struct.attr_value*, uint } |
| 4 | %struct.attr_value = type { %struct.rtx_def*, %struct.attr_value*, %struct.insn_ent*, int, int } |
| 5 | %struct.insn_def = type { %struct.insn_def*, %struct.rtx_def*, int, int, int, int, int } |
| 6 | %struct.insn_ent = type { %struct.insn_ent*, %struct.insn_def* } |
| 7 | %struct.rtx_def = type { ushort, ubyte, ubyte, %struct.u } |
| 8 | %struct.u = type { [1 x long] } |
| 9 | |
| 10 | implementation ; Functions: |
| 11 | |
| 12 | void %find_attr() { |
| 13 | entry: |
| 14 | %tmp26 = seteq %struct.attr_desc* null, null ; <bool> [#uses=1] |
| 15 | br bool %tmp26, label %bb30, label %cond_true27 |
| 16 | |
| 17 | cond_true27: ; preds = %entry |
| 18 | ret void |
| 19 | |
| 20 | bb30: ; preds = %entry |
| 21 | %tmp67 = seteq %struct.attr_desc* null, null ; <bool> [#uses=1] |
| 22 | br bool %tmp67, label %cond_next92, label %cond_true68 |
| 23 | |
| 24 | cond_true68: ; preds = %bb30 |
| 25 | ret void |
| 26 | |
| 27 | cond_next92: ; preds = %bb30 |
| 28 | %tmp173 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=2] |
| 29 | %tmp174 = load uint* %tmp173 ; <uint> [#uses=1] |
| 30 | %tmp177 = and uint %tmp174, 4294967287 ; <uint> [#uses=1] |
| 31 | store uint %tmp177, uint* %tmp173 |
| 32 | %tmp180 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=1] |
| 33 | %tmp181 = load uint* %tmp180 ; <uint> [#uses=1] |
| 34 | %tmp185 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=2] |
| 35 | %tmp186 = load uint* %tmp185 ; <uint> [#uses=1] |
| 36 | %tmp183187 = shl uint %tmp181, ubyte 1 ; <uint> [#uses=1] |
| 37 | %tmp188 = and uint %tmp183187, 16 ; <uint> [#uses=1] |
| 38 | %tmp190 = and uint %tmp186, 4294967279 ; <uint> [#uses=1] |
| 39 | %tmp191 = or uint %tmp190, %tmp188 ; <uint> [#uses=1] |
| 40 | store uint %tmp191, uint* %tmp185 |
| 41 | %tmp193 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=1] |
| 42 | %tmp194 = load uint* %tmp193 ; <uint> [#uses=1] |
| 43 | %tmp198 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=2] |
| 44 | %tmp199 = load uint* %tmp198 ; <uint> [#uses=1] |
| 45 | %tmp196200 = shl uint %tmp194, ubyte 2 ; <uint> [#uses=1] |
| 46 | %tmp201 = and uint %tmp196200, 64 ; <uint> [#uses=1] |
| 47 | %tmp203 = and uint %tmp199, 4294967231 ; <uint> [#uses=1] |
| 48 | %tmp204 = or uint %tmp203, %tmp201 ; <uint> [#uses=1] |
| 49 | store uint %tmp204, uint* %tmp198 |
| 50 | %tmp206 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=1] |
| 51 | %tmp207 = load uint* %tmp206 ; <uint> [#uses=1] |
| 52 | %tmp211 = getelementptr %struct.attr_desc* null, int 0, uint 4 ; <uint*> [#uses=2] |
| 53 | %tmp212 = load uint* %tmp211 ; <uint> [#uses=1] |
| 54 | %tmp209213 = shl uint %tmp207, ubyte 1 ; <uint> [#uses=1] |
| 55 | %tmp214 = and uint %tmp209213, 128 ; <uint> [#uses=1] |
| 56 | %tmp216 = and uint %tmp212, 4294967167 ; <uint> [#uses=1] |
| 57 | %tmp217 = or uint %tmp216, %tmp214 ; <uint> [#uses=1] |
| 58 | store uint %tmp217, uint* %tmp211 |
| 59 | ret void |
| 60 | } |