Unlike a lot of NEON instructions, vext isn't _actually_ parameterized by element...
[oota-llvm.git] / test / Feature / opaquetypes.ll
index fcd0999d4a76acd9f7fe407ec6bbff617a192ce3..6539c1a6e1ca015a11a2fbf528bd4f2438477c84 100644 (file)
@@ -1,16 +1,19 @@
+; RUN: llvm-as < %s | llvm-dis > %t1.ll
+; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
+; RUN: diff %t1.ll %t2.ll
+
 ; This test case is used to test opaque type processing, forward references,
 ; and recursive types.  Oh my.
 ; 
 
-%SQ1 = type { int }
-%ITy = type opaque
+%SQ1 = type { i32 }
 %SQ2 = type { %ITy }
-%ITy = type int
+%ITy = type i32
 
 
 %CCC = type { \2* }
 %BBB = type { \2*, \2 * }
-%AAA = type { \2*, {\2*}, [{\2*}], {[1x{\2*}]} }
+%AAA = type { \2*, {\2*}, [12x{\2*}], {[1x{\2*}]} }
 
 ; Test numbered types
 type %CCC
@@ -18,11 +21,10 @@ type %BBB
 %Composite = type { %0, %1 }
 
 ; Test simple opaque type resolution...
-%intty = type opaque
-%intty = type int
+%intty = type i32
 
 ; Perform a simple forward reference...
-%ty1 = type { %ty2, int }
+%ty1 = type { %ty2, i32 }
 %ty2 = type float
 
 ; Do a recursive type...
@@ -35,7 +37,7 @@ type %BBB
 
 ; A complex recursive type...
 %Y = type { {%Y*}, %Y* }
-%Z = type { { %Z * }, [%Z] *, {{{ %Z * }}} }
+%Z = type { { %Z * }, [12x%Z] *, {{{ %Z * }}} }
 
 ; More ridiculous test cases...
 %A = type [ 123x %A*]
@@ -49,9 +51,5 @@ type %BBB
 ; Test the parser for unnamed recursive types...
 %P1 = type \1 *
 %Y1 = type { { \3 * }, \2 * }
-%Z1 = type { { \3 * }, [\3] *, { { { \5 * } } } }
-
-implementation
-
-
+%Z1 = type { { \3 * }, [12x\3] *, { { { \5 * } } } }