[Hexagon] Fixing load instruction parsing and reenabling tests.
[oota-llvm.git] / test / CodeGen / PowerPC / 2008-07-15-Bswap.ll
index 7060fe560e94ee07f188cdc50615d7582b0b5ace..b271048fd045375e90d71a5ef4fbb1daf15056d2 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc
+; RUN: llc < %s
 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128"
 target triple = "powerpc-apple-darwin9"
        %struct.BiPartSrcDescriptor = type <{ %"struct.BiPartSrcDescriptor::$_105" }>
@@ -95,13 +95,13 @@ entry:
 
 bb16:          ; preds = %entry
        bitcast %struct.PerMacroblockBoundaryStrengths* null to i32*            ; <i32*>:1 [#uses=3]
-       getelementptr i32* %1, i32 1            ; <i32*>:2 [#uses=0]
-       getelementptr i32* %1, i32 2            ; <i32*>:3 [#uses=0]
-       getelementptr i32* %1, i32 3            ; <i32*>:4 [#uses=0]
+       getelementptr i32, i32* %1, i32 1               ; <i32*>:2 [#uses=0]
+       getelementptr i32, i32* %1, i32 2               ; <i32*>:3 [#uses=0]
+       getelementptr i32, i32* %1, i32 3               ; <i32*>:4 [#uses=0]
        bitcast [16 x i8]* null to i32*         ; <i32*>:5 [#uses=3]
-       getelementptr i32* %5, i32 1            ; <i32*>:6 [#uses=0]
-       getelementptr i32* %5, i32 2            ; <i32*>:7 [#uses=0]
-       getelementptr i32* %5, i32 3            ; <i32*>:8 [#uses=0]
+       getelementptr i32, i32* %5, i32 1               ; <i32*>:6 [#uses=0]
+       getelementptr i32, i32* %5, i32 2               ; <i32*>:7 [#uses=0]
+       getelementptr i32, i32* %5, i32 3               ; <i32*>:8 [#uses=0]
        icmp eq i32 0, 0                ; <i1>:9 [#uses=0]
        lshr i32 0, 30          ; <i32>:10 [#uses=0]
        and i32 0, 268435455            ; <i32>:11 [#uses=0]
@@ -117,14 +117,14 @@ bb16:             ; preds = %entry
        %.not658 = icmp ne i32 0, 0             ; <i1> [#uses=1]
        and i32 0, 268369920            ; <i32>:20 [#uses=1]
        icmp eq i32 %20, 268369920              ; <i1>:21 [#uses=2]
-       getelementptr %struct.PerMacroblockBoundaryStrengths* null, i32 0, i32 2                ; <[4 x i8]*>:22 [#uses=1]
-       getelementptr %struct.PerMacroblockBoundaryStrengths* null, i32 0, i32 2, i32 0         ; <i8*>:23 [#uses=0]
+       getelementptr %struct.PerMacroblockBoundaryStrengths, %struct.PerMacroblockBoundaryStrengths* null, i32 0, i32 2                ; <[4 x i8]*>:22 [#uses=1]
+       getelementptr %struct.PerMacroblockBoundaryStrengths, %struct.PerMacroblockBoundaryStrengths* null, i32 0, i32 2, i32 0         ; <i8*>:23 [#uses=0]
        and i32 0, -2           ; <i32>:24 [#uses=1]
        add i32 %24, -1         ; <i32>:25 [#uses=0]
        bitcast [4 x i8]* %22 to i32*           ; <i32*>:26 [#uses=3]
-       getelementptr i32* %26, i32 1           ; <i32*>:27 [#uses=0]
-       getelementptr i32* %26, i32 2           ; <i32*>:28 [#uses=0]
-       getelementptr i32* %26, i32 3           ; <i32*>:29 [#uses=0]
+       getelementptr i32, i32* %26, i32 1              ; <i32*>:27 [#uses=0]
+       getelementptr i32, i32* %26, i32 2              ; <i32*>:28 [#uses=0]
+       getelementptr i32, i32* %26, i32 3              ; <i32*>:29 [#uses=0]
        br label %bb144
 
 bb144:         ; preds = %bb395, %bb16
@@ -136,8 +136,8 @@ bb144:              ; preds = %bb395, %bb16
        %boundaryStrengthsV.1771 = phi i8* [ null, %bb16 ], [ %158, %bb395 ]            ; <i8*> [#uses=2]
        %numEdgesToTest.1770 = phi i32 [ 4, %bb16 ], [ %numEdgesToTest.2, %bb395 ]              ; <i32> [#uses=1]
        icmp eq i32 %idxEachField11.0773, 0             ; <i1>:30 [#uses=0]
-       getelementptr %struct.BiPartSrcDescriptor** null, i32 %mbIndexLeft.2772         ; <%struct.BiPartSrcDescriptor**>:31 [#uses=1]
-       load %struct.BiPartSrcDescriptor** %31, align 4         ; <%struct.BiPartSrcDescriptor*>:32 [#uses=0]
+       getelementptr %struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor** null, i32 %mbIndexLeft.2772           ; <%struct.BiPartSrcDescriptor**>:31 [#uses=1]
+       load %struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor** %31, align 4           ; <%struct.BiPartSrcDescriptor*>:32 [#uses=0]
        %fMacroblockHasNonZeroBS.4 = select i1 %21, i32 1, i32 0                ; <i32> [#uses=1]
        %numEdgesToTest.2 = select i1 %21, i32 1, i32 %numEdgesToTest.1770              ; <i32> [#uses=2]
        store i8 32, i8* %boundaryStrengthsV.1771, align 1
@@ -180,32 +180,32 @@ bb210.preheader:          ; preds = %bb206
        add i32 %52, %42                ; <i32>:53 [#uses=1]
        mul i32 %51, 0          ; <i32>:54 [#uses=1]
        add i32 %46, %54                ; <i32>:55 [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor** null, i32 %53               ; <%struct.BiPartSrcDescriptor**>:56 [#uses=1]
-       load %struct.BiPartSrcDescriptor** %56, align 4         ; <%struct.BiPartSrcDescriptor*>:57 [#uses=7]
-       getelementptr %struct.BiPartSrcDescriptor** null, i32 %55               ; <%struct.BiPartSrcDescriptor**>:58 [#uses=1]
-       load %struct.BiPartSrcDescriptor** %58, align 4         ; <%struct.BiPartSrcDescriptor*>:59 [#uses=5]
+       getelementptr %struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor** null, i32 %53         ; <%struct.BiPartSrcDescriptor**>:56 [#uses=1]
+       load %struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor** %56, align 4           ; <%struct.BiPartSrcDescriptor*>:57 [#uses=7]
+       getelementptr %struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor** null, i32 %55         ; <%struct.BiPartSrcDescriptor**>:58 [#uses=1]
+       load %struct.BiPartSrcDescriptor*, %struct.BiPartSrcDescriptor** %58, align 4           ; <%struct.BiPartSrcDescriptor*>:59 [#uses=5]
        icmp slt i32 %159, 0            ; <i1>:60 [#uses=0]
        icmp eq %struct.BiPartSrcDescriptor* %57, %59           ; <i1>:61 [#uses=0]
        bitcast %struct.BiPartSrcDescriptor* %57 to i16*                ; <i16*>:62 [#uses=5]
-       load i16* %62, align 2          ; <i16>:63 [#uses=2]
-       getelementptr i16* %62, i32 1           ; <i16*>:64 [#uses=1]
-       load i16* %64, align 2          ; <i16>:65 [#uses=2]
-       getelementptr i16* %62, i32 2           ; <i16*>:66 [#uses=1]
-       load i16* %66, align 2          ; <i16>:67 [#uses=2]
-       getelementptr i16* %62, i32 3           ; <i16*>:68 [#uses=1]
-       load i16* %68, align 2          ; <i16>:69 [#uses=2]
-       getelementptr i16* %62, i32 6           ; <i16*>:70 [#uses=1]
-       load i16* %70, align 2          ; <i16>:71 [#uses=2]
+       load i16, i16* %62, align 2             ; <i16>:63 [#uses=2]
+       getelementptr i16, i16* %62, i32 1              ; <i16*>:64 [#uses=1]
+       load i16, i16* %64, align 2             ; <i16>:65 [#uses=2]
+       getelementptr i16, i16* %62, i32 2              ; <i16*>:66 [#uses=1]
+       load i16, i16* %66, align 2             ; <i16>:67 [#uses=2]
+       getelementptr i16, i16* %62, i32 3              ; <i16*>:68 [#uses=1]
+       load i16, i16* %68, align 2             ; <i16>:69 [#uses=2]
+       getelementptr i16, i16* %62, i32 6              ; <i16*>:70 [#uses=1]
+       load i16, i16* %70, align 2             ; <i16>:71 [#uses=2]
        bitcast %struct.BiPartSrcDescriptor* %59 to i16*                ; <i16*>:72 [#uses=5]
-       load i16* %72, align 2          ; <i16>:73 [#uses=2]
-       getelementptr i16* %72, i32 1           ; <i16*>:74 [#uses=1]
-       load i16* %74, align 2          ; <i16>:75 [#uses=2]
-       getelementptr i16* %72, i32 2           ; <i16*>:76 [#uses=1]
-       load i16* %76, align 2          ; <i16>:77 [#uses=2]
-       getelementptr i16* %72, i32 3           ; <i16*>:78 [#uses=1]
-       load i16* %78, align 2          ; <i16>:79 [#uses=2]
-       getelementptr i16* %72, i32 6           ; <i16*>:80 [#uses=1]
-       load i16* %80, align 2          ; <i16>:81 [#uses=2]
+       load i16, i16* %72, align 2             ; <i16>:73 [#uses=2]
+       getelementptr i16, i16* %72, i32 1              ; <i16*>:74 [#uses=1]
+       load i16, i16* %74, align 2             ; <i16>:75 [#uses=2]
+       getelementptr i16, i16* %72, i32 2              ; <i16*>:76 [#uses=1]
+       load i16, i16* %76, align 2             ; <i16>:77 [#uses=2]
+       getelementptr i16, i16* %72, i32 3              ; <i16*>:78 [#uses=1]
+       load i16, i16* %78, align 2             ; <i16>:79 [#uses=2]
+       getelementptr i16, i16* %72, i32 6              ; <i16*>:80 [#uses=1]
+       load i16, i16* %80, align 2             ; <i16>:81 [#uses=2]
        sub i16 %63, %73                ; <i16>:82 [#uses=3]
        sub i16 %65, %75                ; <i16>:83 [#uses=3]
        sub i16 %67, %77                ; <i16>:84 [#uses=3]
@@ -226,23 +226,23 @@ bb210.preheader:          ; preds = %bb206
        sub i16 0, %86          ; <i16>:95 [#uses=1]
        icmp slt i16 %86, 0             ; <i1>:96 [#uses=1]
        %.663 = select i1 %96, i16 %95, i16 %86         ; <i16> [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 1, i32 0               ; <i8*>:97 [#uses=1]
-       load i8* %97, align 1           ; <i8>:98 [#uses=1]
+       getelementptr %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 1, i32 0          ; <i8*>:97 [#uses=1]
+       load i8, i8* %97, align 1               ; <i8>:98 [#uses=1]
        zext i8 %98 to i32              ; <i32>:99 [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 1, i32 1               ; <i8*>:100 [#uses=1]
-       load i8* %100, align 1          ; <i8>:101 [#uses=1]
+       getelementptr %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 1, i32 1          ; <i8*>:100 [#uses=1]
+       load i8, i8* %100, align 1              ; <i8>:101 [#uses=1]
        zext i8 %101 to i32             ; <i32>:102 [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 3, i32 0               ; <i8*>:103 [#uses=1]
-       load i8* %103, align 1          ; <i8>:104 [#uses=2]
+       getelementptr %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 3, i32 0          ; <i8*>:103 [#uses=1]
+       load i8, i8* %103, align 1              ; <i8>:104 [#uses=2]
        zext i8 %104 to i32             ; <i32>:105 [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor* %59, i32 0, i32 0, i32 0, i32 3, i32 0               ; <i8*>:106 [#uses=1]
-       load i8* %106, align 1          ; <i8>:107 [#uses=2]
+       getelementptr %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor* %59, i32 0, i32 0, i32 0, i32 3, i32 0          ; <i8*>:106 [#uses=1]
+       load i8, i8* %106, align 1              ; <i8>:107 [#uses=2]
        zext i8 %107 to i32             ; <i32>:108 [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 3, i32 1               ; <i8*>:109 [#uses=1]
-       load i8* %109, align 1          ; <i8>:110 [#uses=1]
+       getelementptr %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor* %57, i32 0, i32 0, i32 0, i32 3, i32 1          ; <i8*>:109 [#uses=1]
+       load i8, i8* %109, align 1              ; <i8>:110 [#uses=1]
        zext i8 %110 to i32             ; <i32>:111 [#uses=1]
-       getelementptr %struct.BiPartSrcDescriptor* %59, i32 0, i32 0, i32 0, i32 3, i32 1               ; <i8*>:112 [#uses=1]
-       load i8* %112, align 1          ; <i8>:113 [#uses=1]
+       getelementptr %struct.BiPartSrcDescriptor, %struct.BiPartSrcDescriptor* %59, i32 0, i32 0, i32 0, i32 3, i32 1          ; <i8*>:112 [#uses=1]
+       load i8, i8* %112, align 1              ; <i8>:113 [#uses=1]
        zext i8 %113 to i32             ; <i32>:114 [#uses=1]
        lshr i32 %99, 4         ; <i32>:115 [#uses=1]
        and i32 %115, 2         ; <i32>:116 [#uses=1]
@@ -322,13 +322,13 @@ labelContinueEdgesLoopV:          ; preds = %bb206, %bb205, %bb144
        %bfNZ12.2 = phi i32 [ %159, %bb205 ], [ 0, %bb144 ], [ %159, %bb206 ]           ; <i32> [#uses=1]
        %boundaryStrengthsV.3 = phi i8* [ %158, %bb205 ], [ %boundaryStrengthsV.1771, %bb144 ], [ %158, %bb206 ]                ; <i8*> [#uses=3]
        or i32 %fMacroblockHasNonZeroBS.6, %fEdgeHasNonZeroBS.0         ; <i32>:152 [#uses=2]
-       load i8* %boundaryStrengthsV.3, align 1         ; <i8>:153 [#uses=1]
+       load i8, i8* %boundaryStrengthsV.3, align 1             ; <i8>:153 [#uses=1]
        trunc i32 %fEdgeHasNonZeroBS.0 to i8            ; <i8>:154 [#uses=1]
        shl i8 %154, 5          ; <i8>:155 [#uses=1]
        xor i8 %155, 32         ; <i8>:156 [#uses=1]
        or i8 %153, %156                ; <i8>:157 [#uses=1]
        store i8 %157, i8* %boundaryStrengthsV.3, align 1
-       getelementptr i8* %boundaryStrengthsV.3, i32 4          ; <i8*>:158 [#uses=4]
+       getelementptr i8, i8* %boundaryStrengthsV.3, i32 4              ; <i8*>:158 [#uses=4]
        shl i32 %bfNZ12.2, 4            ; <i32>:159 [#uses=4]
        add i32 %ixEdge.1, 1            ; <i32>:160 [#uses=6]
        icmp ult i32 %160, %numEdgesToTest.2            ; <i1>:161 [#uses=1]