fixed to test only the feature, not the feature and a CPU
[oota-llvm.git] / test / CodeGen / X86 / negate-add-zero.ll
index c3f412e09ae86a4c4749bafbad9ee24112cfcf29..629395e126bedb9da7fff954519213aba0d72680 100644 (file)
@@ -486,10 +486,6 @@ declare void @_ZN7CDSListIP9HingeNodeEC1Eii(%"struct.CDSList<HingeNode*>"*, i32,
 
 declare i8* @_Znwm(i32)
 
-declare i8* @llvm.eh.exception() nounwind
-
-declare i32 @llvm.eh.selector.i32(i8*, i8*, ...) nounwind
-
 declare i32 @llvm.eh.typeid.for.i32(i8*) nounwind
 
 declare void @_ZdlPv(i8*) nounwind
@@ -831,41 +827,39 @@ declare void @_ZN11MatrixTools9transposeI11FixedMatrixIdLi6ELi6ELi0ELi0EEEENT_13
 declare void @_ZN21HNodeTranslateRotate311toCartesianEv(%struct.HNodeTranslateRotate3*)
 
 define linkonce void @_ZN21HNodeTranslateRotate36setVelERK9CDSVectorIdLi1EN3CDS12DefaultAllocEE(%struct.HNodeTranslateRotate3* %this, %"struct.CDSVector<double,0,CDS::DefaultAlloc>"* %velv) {
-entry:
-       %0 = add i32 0, -1              ; <i32> [#uses=1]
-       %1 = getelementptr double* null, i32 %0         ; <double*> [#uses=1]
-       %2 = load double* %1, align 8           ; <double> [#uses=1]
-       %3 = load double* null, align 8         ; <double> [#uses=2]
-       %4 = load double* null, align 8         ; <double> [#uses=2]
-       %5 = load double* null, align 8         ; <double> [#uses=3]
-       %6 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0               ; <double*> [#uses=0]
-       %7 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1               ; <double*> [#uses=0]
-       %8 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2               ; <double*> [#uses=0]
-       %9 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 3               ; <double*> [#uses=0]
-       %10 = load double* null, align 8                ; <double> [#uses=2]
+       %1 = getelementptr double, double* null, i32 -1         ; <double*> [#uses=1]
+       %2 = load double, double* %1, align 8           ; <double> [#uses=1]
+       %3 = load double, double* null, align 8         ; <double> [#uses=2]
+       %4 = load double, double* null, align 8         ; <double> [#uses=2]
+       %5 = load double, double* null, align 8         ; <double> [#uses=3]
+       %6 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0                ; <double*> [#uses=0]
+       %7 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1                ; <double*> [#uses=0]
+       %8 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2                ; <double*> [#uses=0]
+       %9 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 2, i32 0, i32 0, i32 0, i32 3                ; <double*> [#uses=0]
+       %10 = load double, double* null, align 8                ; <double> [#uses=2]
        %11 = fsub double -0.000000e+00, %10            ; <double> [#uses=1]
-       %12 = load double* null, align 8                ; <double> [#uses=2]
-       %13 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 1, i32 0, i32 0, i32 0, i32 3              ; <double*> [#uses=1]
-       %14 = load double* %13, align 8         ; <double> [#uses=2]
+       %12 = load double, double* null, align 8                ; <double> [#uses=2]
+       %13 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 1, i32 0, i32 0, i32 0, i32 3               ; <double*> [#uses=1]
+       %14 = load double, double* %13, align 8         ; <double> [#uses=2]
        %15 = fsub double -0.000000e+00, %14            ; <double> [#uses=1]
-       %16 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2              ; <double*> [#uses=1]
-       %17 = load double* %16, align 8         ; <double> [#uses=2]
+       %16 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2               ; <double*> [#uses=1]
+       %17 = load double, double* %16, align 8         ; <double> [#uses=2]
        %18 = fsub double -0.000000e+00, %17            ; <double> [#uses=1]
-       %19 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 0             ; <double*> [#uses=0]
-       %20 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 3             ; <double*> [#uses=0]
-       %21 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 6             ; <double*> [#uses=0]
-       %22 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 9             ; <double*> [#uses=0]
-       %23 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 1             ; <double*> [#uses=0]
-       %24 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 4             ; <double*> [#uses=0]
-       %25 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 7             ; <double*> [#uses=0]
-       %26 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 10            ; <double*> [#uses=0]
-       %27 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 2             ; <double*> [#uses=0]
-       %28 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 5             ; <double*> [#uses=0]
-       %29 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 8             ; <double*> [#uses=0]
-       %30 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 11            ; <double*> [#uses=0]
-       %31 = getelementptr %"struct.FixedMatrix<double,1,3,0,0>"* null, i32 0, i32 0, i32 0, i32 0             ; <double*> [#uses=0]
-       %32 = getelementptr %"struct.FixedMatrix<double,1,3,0,0>"* null, i32 0, i32 0, i32 0, i32 1             ; <double*> [#uses=1]
-       %33 = getelementptr %"struct.FixedMatrix<double,1,3,0,0>"* null, i32 0, i32 0, i32 0, i32 2             ; <double*> [#uses=1]
+       %19 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 0              ; <double*> [#uses=0]
+       %20 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 3              ; <double*> [#uses=0]
+       %21 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 6              ; <double*> [#uses=0]
+       %22 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 9              ; <double*> [#uses=0]
+       %23 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 1              ; <double*> [#uses=0]
+       %24 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 4              ; <double*> [#uses=0]
+       %25 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 7              ; <double*> [#uses=0]
+       %26 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 10             ; <double*> [#uses=0]
+       %27 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 2              ; <double*> [#uses=0]
+       %28 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 5              ; <double*> [#uses=0]
+       %29 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 8              ; <double*> [#uses=0]
+       %30 = getelementptr %"struct.FixedMatrix<double,2,6,0,0>", %"struct.FixedMatrix<double,2,6,0,0>"* null, i32 0, i32 0, i32 0, i32 11             ; <double*> [#uses=0]
+       %31 = getelementptr %"struct.FixedMatrix<double,1,3,0,0>", %"struct.FixedMatrix<double,1,3,0,0>"* null, i32 0, i32 0, i32 0, i32 0              ; <double*> [#uses=0]
+       %32 = getelementptr %"struct.FixedMatrix<double,1,3,0,0>", %"struct.FixedMatrix<double,1,3,0,0>"* null, i32 0, i32 0, i32 0, i32 1              ; <double*> [#uses=1]
+       %33 = getelementptr %"struct.FixedMatrix<double,1,3,0,0>", %"struct.FixedMatrix<double,1,3,0,0>"* null, i32 0, i32 0, i32 0, i32 2              ; <double*> [#uses=1]
        %34 = fmul double %17, %5               ; <double> [#uses=1]
        %35 = fadd double 0.000000e+00, %34             ; <double> [#uses=1]
        %36 = fadd double 0.000000e+00, 0.000000e+00            ; <double> [#uses=1]
@@ -888,19 +882,18 @@ entry:
        %51 = fmul double %35, 2.000000e+00             ; <double> [#uses=1]
        %52 = fmul double %42, 2.000000e+00             ; <double> [#uses=1]
        %53 = fmul double %50, 2.000000e+00             ; <double> [#uses=1]
-       %54 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 0, i32 10, i32 0, i32 0, i32 0             ; <double*> [#uses=1]
+       %54 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 0, i32 10, i32 0, i32 0, i32 0              ; <double*> [#uses=1]
        store double %51, double* %54, align 8
-       %55 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 0, i32 10, i32 0, i32 0, i32 1             ; <double*> [#uses=1]
+       %55 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 0, i32 10, i32 0, i32 0, i32 1              ; <double*> [#uses=1]
        store double %52, double* %55, align 8
-       %56 = getelementptr %struct.HNodeTranslateRotate3* %this, i32 0, i32 0, i32 10, i32 0, i32 0, i32 2             ; <double*> [#uses=1]
+       %56 = getelementptr %struct.HNodeTranslateRotate3, %struct.HNodeTranslateRotate3* %this, i32 0, i32 0, i32 10, i32 0, i32 0, i32 2              ; <double*> [#uses=1]
        store double %53, double* %56, align 8
-       %57 = add i32 0, 4              ; <i32> [#uses=1]
-       %58 = getelementptr %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >"* null, i32 0, i32 0           ; <%"struct.CDSVector<double,0,CDS::DefaultAlloc>"**> [#uses=1]
-       store %"struct.CDSVector<double,0,CDS::DefaultAlloc>"* %velv, %"struct.CDSVector<double,0,CDS::DefaultAlloc>"** %58, align 8
-       %59 = getelementptr %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >"* null, i32 0, i32 1           ; <i32*> [#uses=1]
-       store i32 %57, i32* %59, align 4
-       %60 = getelementptr %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >"* null, i32 0, i32 2           ; <i32*> [#uses=1]
-       store i32 3, i32* %60, align 8
+       %57 = getelementptr %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >", %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >"* null, i32 0, i32 0            ; <%"struct.CDSVector<double,0,CDS::DefaultAlloc>"**> [#uses=1]
+       store %"struct.CDSVector<double,0,CDS::DefaultAlloc>"* %velv, %"struct.CDSVector<double,0,CDS::DefaultAlloc>"** %57, align 8
+       %58 = getelementptr %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >", %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >"* null, i32 0, i32 1            ; <i32*> [#uses=1]
+       store i32 4, i32* %58, align 4
+       %59 = getelementptr %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >", %"struct.SubVector<CDSVector<double, 1, CDS::DefaultAlloc> >"* null, i32 0, i32 2            ; <i32*> [#uses=1]
+       store i32 3, i32* %59, align 8
        unreachable
 }