diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C
index 05958edf68ad060e63c51e8f078656fbbb82a5e6..cb376fde10c28ba807da0541cac76140a3043e8e 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C
@@ -67,38 +67,15 @@ void Foam::lduMatrix::Amul
     register const label nCells = diag().size();
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&psiPtr[cell+96],0,1);
-        __builtin_prefetch (&diagPtr[cell+96],0,1);
-        __builtin_prefetch (&ApsiPtr[cell+96],1,1);
-        #endif
-
         ApsiPtr[cell] = diagPtr[cell]*psiPtr[cell];
     }
 
 
     register const label nFaces = upper().size();
-    #ifdef ICC_IA64_PREFETCH
-    #pragma swp
-    #endif
+
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+32],0,0);
-        __builtin_prefetch (&lPtr[face+32],0,0);
-        __builtin_prefetch (&lowerPtr[face+32],0,1);
-        __builtin_prefetch (&psiPtr[lPtr[face+32]],0,1);
-        __builtin_prefetch (&ApsiPtr[uPtr[face+32]],0,1);
-        #endif
-
         ApsiPtr[uPtr[face]] += lowerPtr[face]*psiPtr[lPtr[face]];
-
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&upperPtr[face+32],0,1);
-        __builtin_prefetch (&psiPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&ApsiPtr[lPtr[face+32]],0,1);
-        #endif
-
         ApsiPtr[lPtr[face]] += upperPtr[face]*psiPtr[uPtr[face]];
     }
 
@@ -151,34 +128,13 @@ void Foam::lduMatrix::Tmul
     register const label nCells = diag().size();
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&psiPtr[cell+96],0,1);
-        __builtin_prefetch (&diagPtr[cell+96],0,1);
-        __builtin_prefetch (&TpsiPtr[cell+96],1,1);
-        #endif
-
         TpsiPtr[cell] = diagPtr[cell]*psiPtr[cell];
     }
 
     register const label nFaces = upper().size();
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+32],0,0);
-        __builtin_prefetch (&lPtr[face+32],0,0);
-        __builtin_prefetch (&upperPtr[face+32],0,1);
-        __builtin_prefetch (&psiPtr[lPtr[face+32]],0,1);
-        __builtin_prefetch (&TpsiPtr[uPtr[face+32]],0,1);
-        #endif
-
         TpsiPtr[uPtr[face]] += upperPtr[face]*psiPtr[lPtr[face]];
-
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&lowerPtr[face+32],0,1);
-        __builtin_prefetch (&psiPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&TpsiPtr[lPtr[face+32]],0,1);
-        #endif
-
         TpsiPtr[lPtr[face]] += lowerPtr[face]*psiPtr[uPtr[face]];
     }
 
@@ -218,34 +174,12 @@ void Foam::lduMatrix::sumA
 
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&diagPtr[cell+96],0,1);
-        __builtin_prefetch (&sumAPtr[cell+96],1,1);
-        #endif
-
         sumAPtr[cell] = diagPtr[cell];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma swp
-    #endif
-
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+32],0,0);
-        __builtin_prefetch (&lPtr[face+32],0,0);
-        __builtin_prefetch (&lowerPtr[face+32],0,1);
-        __builtin_prefetch (&sumAPtr[uPtr[face+32]],0,1);
-        #endif
-
         sumAPtr[uPtr[face]] += lowerPtr[face];
-
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&upperPtr[face+32],0,1);
-        __builtin_prefetch (&sumAPtr[lPtr[face+32]],0,1);
-        #endif
-
         sumAPtr[lPtr[face]] += upperPtr[face];
     }
 
@@ -323,39 +257,15 @@ void Foam::lduMatrix::residual
     register const label nCells = diag().size();
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&psiPtr[cell+96],0,1);
-        __builtin_prefetch (&diagPtr[cell+96],0,1);
-        __builtin_prefetch (&sourcePtr[cell+96],0,1);
-        __builtin_prefetch (&rAPtr[cell+96],1,1);
-        #endif
-
         rAPtr[cell] = sourcePtr[cell] - diagPtr[cell]*psiPtr[cell];
     }
 
 
     register const label nFaces = upper().size();
-    #ifdef ICC_IA64_PREFETCH
-    #pragma swp
-    #endif
+
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+32],0,0);
-        __builtin_prefetch (&lPtr[face+32],0,0);
-        __builtin_prefetch (&lowerPtr[face+32],0,1);
-        __builtin_prefetch (&psiPtr[lPtr[face+32]],0,1);
-        __builtin_prefetch (&rAPtr[uPtr[face+32]],0,1);
-        #endif
-
         rAPtr[uPtr[face]] -= lowerPtr[face]*psiPtr[lPtr[face]];
-
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&upperPtr[face+32],0,1);
-        __builtin_prefetch (&psiPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&rAPtr[lPtr[face+32]],0,1);
-        #endif
-
         rAPtr[lPtr[face]] -= upperPtr[face]*psiPtr[uPtr[face]];
     }
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C
index 6766e0ec803c065050bff3149c59f5c085a76fc6..9c898f2d9ea008666028023b17147a2aaaee3892 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C
@@ -353,20 +353,7 @@ Foam::tmp<Foam::scalarField > Foam::lduMatrix::H1() const
 
         for (register label face=0; face<nFaces; face++)
         {
-            #ifdef ICC_IA64_PREFETCH
-            __builtin_prefetch (&uPtr[face+32],0,0);
-            __builtin_prefetch (&lPtr[face+32],0,0);
-            __builtin_prefetch (&lowerPtr[face+32],0,1);
-            __builtin_prefetch (&H1Ptr[uPtr[face+32]],0,1);
-            #endif
-
             H1Ptr[uPtr[face]] -= lowerPtr[face];
-        
-            #ifdef ICC_IA64_PREFETCH
-            __builtin_prefetch (&upperPtr[face+32],0,1);
-            __builtin_prefetch (&H1Ptr[lPtr[face+32]],0,1);
-                #endif
-
             H1Ptr[lPtr[face]] -= upperPtr[face];
         }
     }
diff --git a/src/OpenFOAM/matrices/lduMatrix/preconditioners/DICPreconditioner/DICPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/preconditioners/DICPreconditioner/DICPreconditioner.C
index dbf5b31f2a7ec91cdcea2ff1741d994584fda43b..f6fc7ab87f1f086ddd1f8e4997b5f238d3fc4605 100644
--- a/src/OpenFOAM/matrices/lduMatrix/preconditioners/DICPreconditioner/DICPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/preconditioners/DICPreconditioner/DICPreconditioner.C
@@ -71,29 +71,15 @@ void Foam::DICPreconditioner::calcReciprocalD
     register const label nFaces = matrix.upper().size();
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&upperPtr[face+96],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face+24]],0,1);
-        __builtin_prefetch (&rDPtr[uPtr[face+24]],1,1);
-        #endif
-
         rDPtr[uPtr[face]] -= upperPtr[face]*upperPtr[face]/rDPtr[lPtr[face]];
     }
 
 
     // Calculate the reciprocal of the preconditioned diagonal
     register const label nCells = rD.size();
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
+
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        #endif
-
         rDPtr[cell] = 1.0/rDPtr[cell];
     }
 }
@@ -120,61 +106,18 @@ void Foam::DICPreconditioner::precondition
     register label nFaces = solver_.matrix().upper().size();
     register label nFacesM1 = nFaces - 1;
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&wAPtr[cell+96],0,1);
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        __builtin_prefetch (&rAPtr[cell+96],0,1);
-        #endif
-
         wAPtr[cell] = rDPtr[cell]*rAPtr[cell];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma noprefetch uPtr,lPtr,upperPtr,rDPtr,wAPtr
-    #pragma nounroll
-    #endif
-
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&upperPtr[face+96],0,0);
-        __builtin_prefetch (&rDPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face+32]],0,1); 
-        __builtin_prefetch (&wAPtr[lPtr[face+32]],0,1);
-        #endif
-
         wAPtr[uPtr[face]] -= rDPtr[uPtr[face]]*upperPtr[face]*wAPtr[lPtr[face]];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma noprefetch uPtr,lPtr,rDPtr,wAPtr
-    #pragma nounroll
-    #endif
-
     for (register label face=nFacesM1; face>=0; face--)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face-95],0,0);
-        __builtin_prefetch (&lPtr[face-95],0,0);
-        __builtin_prefetch (&rDPtr[lPtr[face-16]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-16]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-16]],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face-24]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-24]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-24]],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face-32]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-32]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-32]],0,1);
-        #endif
-
         wAPtr[lPtr[face]] -= rDPtr[lPtr[face]]*upperPtr[face]*wAPtr[uPtr[face]];
     }
 }
diff --git a/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C
index 5193acb5eb192f21b0f78f848ead3846fa6a2e3f..4fdebcd9c58a6c68402645a8e413577e9ad10c86 100644
--- a/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C
@@ -72,30 +72,15 @@ void Foam::DILUPreconditioner::calcReciprocalD
     register label nFaces = matrix.upper().size();
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&upperPtr[face+96],0,1);
-        __builtin_prefetch (&lowerPtr[face+96],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face+24]],0,1);
-        __builtin_prefetch (&rDPtr[uPtr[face+24]],1,1);
-        #endif
-
         rDPtr[uPtr[face]] -= upperPtr[face]*lowerPtr[face]/rDPtr[lPtr[face]];
     }
 
 
     // Calculate the reciprocal of the preconditioned diagonal
     register label nCells = rD.size();
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
+
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        #endif
-
         rDPtr[cell] = 1.0/rDPtr[cell];
     }
 }
@@ -128,26 +113,14 @@ void Foam::DILUPreconditioner::precondition
     register label nFaces = solver_.matrix().upper().size();
     register label nFacesM1 = nFaces - 1;
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&wAPtr[cell+96],0,1);
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        __builtin_prefetch (&rAPtr[cell+96],0,1);
-        #endif
-
         wAPtr[cell] = rDPtr[cell]*rAPtr[cell];
     }
 
 
     register label sface;
-    #ifdef ICC_IA64_PREFETCH
-    #pragma nounroll
-    #endif
+
     for (register label face=0; face<nFaces; face++)
     {
         sface = losortPtr[face];
@@ -155,28 +128,8 @@ void Foam::DILUPreconditioner::precondition
             rDPtr[uPtr[sface]]*lowerPtr[sface]*wAPtr[lPtr[sface]];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma noprefetch uPtr,lPtr,rDPtr,wAPtr
-    #pragma nounroll
-    #endif
-
     for (register label face=nFacesM1; face>=0; face--)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face-95],0,0);
-        __builtin_prefetch (&lPtr[face-95],0,0);
-        __builtin_prefetch (&upperPtr[face-95],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face-16]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-16]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-16]],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face-24]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-24]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-24]],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face-32]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-32]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-32]],0,1);
-        #endif
-
         wAPtr[lPtr[face]] -=
             rDPtr[lPtr[face]]*upperPtr[face]*wAPtr[uPtr[face]];
     }
@@ -210,46 +163,20 @@ void Foam::DILUPreconditioner::preconditionT
     register label nFaces = solver_.matrix().upper().size();
     register label nFacesM1 = nFaces - 1;
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&wTPtr[cell+96],0,1);
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        __builtin_prefetch (&rTPtr[cell+96],0,1);
-        #endif
-
         wTPtr[cell] = rDPtr[cell]*rTPtr[cell];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma noprefetch uPtr,lPtr,upperPtr,rDPtr,wTPtr
-    #pragma nounroll
-    #endif
-
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&upperPtr[face+96],0,1);
-        __builtin_prefetch (&rDPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&wTPtr[lPtr[face+32]],0,1);
-        __builtin_prefetch (&wTPtr[uPtr[face+32]],0,1);
-        #endif
-
         wTPtr[uPtr[face]] -=
             rDPtr[uPtr[face]]*upperPtr[face]*wTPtr[lPtr[face]];
     }
 
 
     register label sface;
-    #ifdef ICC_IA64_PREFETCH
-    #pragma nounroll
-    #endif
+
     for (register label face=nFacesM1; face>=0; face--)
     {
         sface = losortPtr[face];
diff --git a/src/OpenFOAM/matrices/lduMatrix/preconditioners/FDICPreconditioner/FDICPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/preconditioners/FDICPreconditioner/FDICPreconditioner.C
index 9b17ef902d1cd7cd31ac6637bc70470112253361..db4a51c4b7f6a204b75545b0eb1ab6c845513396 100644
--- a/src/OpenFOAM/matrices/lduMatrix/preconditioners/FDICPreconditioner/FDICPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/preconditioners/FDICPreconditioner/FDICPreconditioner.C
@@ -66,47 +66,17 @@ Foam::FDICPreconditioner::FDICPreconditioner
 
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&upperPtr[face+96],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face+24]],0,1);
-        __builtin_prefetch (&rDPtr[uPtr[face+24]],1,1);
-        #endif
-
         rDPtr[uPtr[face]] -= sqr(upperPtr[face])/rDPtr[lPtr[face]];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     // Generate reciprocal FDIC
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        #endif
-
         rDPtr[cell] = 1.0/rDPtr[cell];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&upperPtr[face+96],0,0);
-        __builtin_prefetch (&rDuUpperPtr[face+96],0,0);
-        __builtin_prefetch (&rDlUpperPtr[face+96],0,0);
-        __builtin_prefetch (&rDPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&rDPtr[lPtr[face+32]],0,1);
-        #endif
-
         rDuUpperPtr[face] = rDPtr[uPtr[face]]*upperPtr[face];
         rDlUpperPtr[face] = rDPtr[lPtr[face]]*upperPtr[face];
     }
@@ -138,58 +108,18 @@ void Foam::FDICPreconditioner::precondition
     register label nFaces = solver_.matrix().upper().size();
     register label nFacesM1 = nFaces - 1;
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&wAPtr[cell+96],0,1);
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        __builtin_prefetch (&rAPtr[cell+96],0,1);
-        #endif
-
         wAPtr[cell] = rDPtr[cell]*rAPtr[cell];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma noprefetch uPtr,lPtr,rDuUpperPtr,wAPtr
-    #pragma nounroll
-    #endif
-
     for (register label face=0; face<nFaces; face++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face+96],0,0);
-        __builtin_prefetch (&lPtr[face+96],0,0);
-        __builtin_prefetch (&rDuUpperPtr[face+96],0,0);
-        __builtin_prefetch (&wAPtr[uPtr[face+32]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face+32]],0,1);
-        #endif
-
         wAPtr[uPtr[face]] -= rDuUpperPtr[face]*wAPtr[lPtr[face]];
     }
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma noprefetch uPtr,lPtr,rDlUpperPtr,wAPtr
-    #pragma nounroll
-    #endif
-
     for (register label face=nFacesM1; face>=0; face--)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&uPtr[face-95],0,0);
-        __builtin_prefetch (&lPtr[face-95],0,0);
-        __builtin_prefetch (&rDlUpperPtr[face-95],0,0);
-        __builtin_prefetch (&wAPtr[lPtr[face-16]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-16]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-24]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-24]],0,1);
-        __builtin_prefetch (&wAPtr[lPtr[face-32]],0,1);
-        __builtin_prefetch (&wAPtr[uPtr[face-32]],0,1);
-        #endif
-
         wAPtr[lPtr[face]] -= rDlUpperPtr[face]*wAPtr[uPtr[face]];
     }
 }
diff --git a/src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C
index e5a32fa1689220f3e558e1e866cc8184c1b65b1e..04ccc2add03118dc662013e3925be372cff2b97a 100644
--- a/src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C
@@ -58,18 +58,9 @@ Foam::diagonalPreconditioner::diagonalPreconditioner
 
     register label nCells = rD.size();
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     // Generate reciprocal diagonal
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        __builtin_prefetch (&DPtr[cell+96],0,1);
-        #endif
-
         rDPtr[cell] = 1.0/DPtr[cell];
     }
 }
@@ -90,18 +81,8 @@ void Foam::diagonalPreconditioner::precondition
 
     register label nCells = wA.size();
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&wAPtr[cell+96],0,1);
-        __builtin_prefetch (&rDPtr[cell+96],0,1);
-        __builtin_prefetch (&rAPtr[cell+96],0,1);
-        #endif
-
         wAPtr[cell] = rDPtr[cell]*rAPtr[cell];
     }
 }
diff --git a/src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C
index d1df531040c6fceea43d259a4a9e3553cc7b25fe..54302bea66223a2d4cfa7bb014bec2fb431e80cb 100644
--- a/src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C
@@ -68,17 +68,8 @@ void Foam::noPreconditioner::precondition
 
     register label nCells = wA.size();
 
-    #ifdef ICC_IA64_PREFETCH
-    #pragma ivdep
-    #endif
-
     for (register label cell=0; cell<nCells; cell++)
     {
-        #ifdef ICC_IA64_PREFETCH
-        __builtin_prefetch (&wAPtr[cell+96],0,1);
-        __builtin_prefetch (&rAPtr[cell+96],0,1);
-        #endif
-
         wAPtr[cell] = rAPtr[cell];
     }
 }
diff --git a/src/OpenFOAM/matrices/lduMatrix/smoothers/GaussSeidel/GaussSeidelSmoother.C b/src/OpenFOAM/matrices/lduMatrix/smoothers/GaussSeidel/GaussSeidelSmoother.C
index ff206e2e5fcbc31eb2184c600dd7b84c74dd8cfc..4c04d67b361d32368ad29a8b90df7d58e88cd6f2 100644
--- a/src/OpenFOAM/matrices/lduMatrix/smoothers/GaussSeidel/GaussSeidelSmoother.C
+++ b/src/OpenFOAM/matrices/lduMatrix/smoothers/GaussSeidel/GaussSeidelSmoother.C
@@ -146,19 +146,6 @@ void Foam::GaussSeidelSmoother::smooth
 
         for (register label cellI=0; cellI<nCells; cellI++)
         {
-            #ifdef ICC_IA64_PREFETCH
-            __builtin_prefetch (&psiPtr[cellI+64],0,1);
-            __builtin_prefetch (&bPrimePtr[cellI+64],0,1);
-            __builtin_prefetch (&ownStartPtr[cellI+64],0,1);
-            __builtin_prefetch (&diagPtr[cellI+64],0,1);
-            __builtin_prefetch (&uPtr[ownStartPtr[cellI+24]],0,1);
-            __builtin_prefetch (&uPtr[ownStartPtr[cellI+25]],0,1);
-            __builtin_prefetch (&uPtr[ownStartPtr[cellI+26]],0,1);
-            __builtin_prefetch (&uPtr[ownStartPtr[cellI+27]],0,1);
-            __builtin_prefetch (&upperPtr[ownStartPtr[cellI+24]],0,1);
-            __builtin_prefetch (&lowerPtr[ownStartPtr[cellI+24]],0,1);
-            #endif
-
             // Start and end of this row
             fStart = fEnd;
             fEnd = ownStartPtr[cellI + 1];
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C b/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C
index 0a5f1036749844421ecb7e7518aeadfb056e04a9..c514276c84e9d5341d8d5bb99d241600303393a8 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/PBiCG/PBiCG.C
@@ -144,19 +144,8 @@ Foam::lduMatrix::solverPerformance Foam::PBiCG::solve
 
             if (solverPerf.nIterations() == 0)
             {
-                #ifdef ICC_IA64_PREFETCH
-                #pragma ivdep
-                #endif
-
                 for (register label cell=0; cell<nCells; cell++)
                 {
-                    #ifdef ICC_IA64_PREFETCH
-                    __builtin_prefetch (&pAPtr[cell+96],0,1);
-                    __builtin_prefetch (&pTPtr[cell+96],0,1);
-                    __builtin_prefetch (&wAPtr[cell+96],0,1);
-                    __builtin_prefetch (&wTPtr[cell+96],0,1);
-                    #endif
-
                     pAPtr[cell] = wAPtr[cell];
                     pTPtr[cell] = wTPtr[cell];
                 }
@@ -165,19 +154,8 @@ Foam::lduMatrix::solverPerformance Foam::PBiCG::solve
             {
                 scalar beta = wArT/wArTold;
 
-                #ifdef ICC_IA64_PREFETCH
-                #pragma ivdep
-                #endif
-
                 for (register label cell=0; cell<nCells; cell++)
                 {
-                    #ifdef ICC_IA64_PREFETCH
-                    __builtin_prefetch (&pAPtr[cell+96],0,1);
-                    __builtin_prefetch (&pTPtr[cell+96],0,1);
-                    __builtin_prefetch (&wAPtr[cell+96],0,1);
-                    __builtin_prefetch (&wTPtr[cell+96],0,1);
-                    #endif
-
                     pAPtr[cell] = wAPtr[cell] + beta*pAPtr[cell];
                     pTPtr[cell] = wTPtr[cell] + beta*pTPtr[cell];
                 }
@@ -199,21 +177,8 @@ Foam::lduMatrix::solverPerformance Foam::PBiCG::solve
 
             scalar alpha = wArT/wApT;
 
-            #ifdef ICC_IA64_PREFETCH
-            #pragma ivdep
-            #endif
-
             for (register label cell=0; cell<nCells; cell++)
             {
-                #ifdef ICC_IA64_PREFETCH
-                __builtin_prefetch (&pAPtr[cell+96],0,1);
-                __builtin_prefetch (&wAPtr[cell+96],0,1);
-                __builtin_prefetch (&wTPtr[cell+96],0,1);
-                __builtin_prefetch (&psiPtr[cell+96],0,1);
-                __builtin_prefetch (&rAPtr[cell+96],0,1);
-                __builtin_prefetch (&rTPtr[cell+96],0,1);
-                #endif
-
                 psiPtr[cell] += alpha*pAPtr[cell];
                 rAPtr[cell] -= alpha*wAPtr[cell];
                 rTPtr[cell] -= alpha*wTPtr[cell];
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/PCG/PCG.C b/src/OpenFOAM/matrices/lduMatrix/solvers/PCG/PCG.C
index 03b9419db20c7f266bbb1ddb2565380952c4f201..ea7581903cc5fd8c8b24ff29b67607dde9f1e66b 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/PCG/PCG.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/PCG/PCG.C
@@ -134,17 +134,8 @@ Foam::lduMatrix::solverPerformance Foam::PCG::solve
 
             if (solverPerf.nIterations() == 0)
             {
-                #ifdef ICC_IA64_PREFETCH
-                #pragma ivdep
-                #endif
-
                 for (register label cell=0; cell<nCells; cell++)
                 {
-                    #ifdef ICC_IA64_PREFETCH
-                    __builtin_prefetch (&pAPtr[cell+96],0,1);
-                    __builtin_prefetch (&wAPtr[cell+96],0,1);
-                    #endif
-
                     pAPtr[cell] = wAPtr[cell];
                 }
             }
@@ -152,17 +143,8 @@ Foam::lduMatrix::solverPerformance Foam::PCG::solve
             {
                 scalar beta = wArA/wArAold;
 
-                #ifdef ICC_IA64_PREFETCH
-                #pragma ivdep
-                #endif
-
                 for (register label cell=0; cell<nCells; cell++)
                 {
-                    #ifdef ICC_IA64_PREFETCH
-                    __builtin_prefetch (&pAPtr[cell+96],0,1);
-                    __builtin_prefetch (&wAPtr[cell+96],0,1);
-                    #endif
-
                     pAPtr[cell] = wAPtr[cell] + beta*pAPtr[cell];
                 }
             }
@@ -182,19 +164,8 @@ Foam::lduMatrix::solverPerformance Foam::PCG::solve
 
             scalar alpha = wArA/wApA;
 
-            #ifdef ICC_IA64_PREFETCH
-            #pragma ivdep
-            #endif
-
             for (register label cell=0; cell<nCells; cell++)
             {
-                #ifdef ICC_IA64_PREFETCH
-                __builtin_prefetch (&pAPtr[cell+96],0,1);
-                __builtin_prefetch (&wAPtr[cell+96],0,1);
-                __builtin_prefetch (&psiPtr[cell+96],0,1);
-                __builtin_prefetch (&rAPtr[cell+96],0,1);
-                #endif
-
                 psiPtr[cell] += alpha*pAPtr[cell];
                 rAPtr[cell] -= alpha*wAPtr[cell];
             }