Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Memory.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Memory.h	(revision 78)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/include/Memory.h	(revision 81)
@@ -79,5 +79,8 @@
     morpheo::behavioural::Tdcache_data_t rdata;
 
-    if (type == DCACHE_TYPE_LOAD)
+    if ((type == DCACHE_TYPE_LOAD_8 ) or
+	(type == DCACHE_TYPE_LOAD_16) or
+	(type == DCACHE_TYPE_LOAD_32) or
+	(type == DCACHE_TYPE_LOAD_64) )
       rdata = read  (context, address, type);
     else
@@ -265,5 +268,4 @@
 	switch(i->_type)
 	  {
-	  case DCACHE_TYPE_LOAD            : std::cout << "DCACHE_TYPE_LOAD           "; break;
 	  case DCACHE_TYPE_LOCK            : std::cout << "DCACHE_TYPE_LOCK           "; break;
 	  case DCACHE_TYPE_INVALIDATE      : std::cout << "DCACHE_TYPE_INVALIDATE     "; break;
@@ -271,4 +273,8 @@
 	  case DCACHE_TYPE_FLUSH           : std::cout << "DCACHE_TYPE_FLUSH          "; break;
 	  case DCACHE_TYPE_SYNCHRONIZATION : std::cout << "DCACHE_TYPE_SYNCHRONIZATION"; break;
+	  case DCACHE_TYPE_LOAD_8          : std::cout << "DCACHE_TYPE_LOAD_8         "; break;
+	  case DCACHE_TYPE_LOAD_16         : std::cout << "DCACHE_TYPE_LOAD_16        "; break;
+	  case DCACHE_TYPE_LOAD_32         : std::cout << "DCACHE_TYPE_LOAD_32        "; break;
+	  case DCACHE_TYPE_LOAD_64         : std::cout << "DCACHE_TYPE_LOAD_64        "; break;
 	  case DCACHE_TYPE_STORE_8         : std::cout << "DCACHE_TYPE_STORE_8        "; break;
 	  case DCACHE_TYPE_STORE_16        : std::cout << "DCACHE_TYPE_STORE_16       "; break;
@@ -302,7 +308,15 @@
   memory -> access (2, 0x1b, DCACHE_TYPE_STORE_8 , 0x19811221);
   
-  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x10, DCACHE_TYPE_LOAD, 0), 0xdeadbeef);
-  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x14, DCACHE_TYPE_LOAD, 0), 0x12345678);
-  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x18, DCACHE_TYPE_LOAD, 0), 0x21071981);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x10, DCACHE_TYPE_LOAD_32, 0), 0xdeadbeef);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x14, DCACHE_TYPE_LOAD_32, 0), 0x12345678);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x18, DCACHE_TYPE_LOAD_32, 0), 0x21071981);
+
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x10, DCACHE_TYPE_LOAD_32, 0), 0xdeadbeef);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x10, DCACHE_TYPE_LOAD_16, 0), 0xbeef);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x12, DCACHE_TYPE_LOAD_16, 0), 0xdead);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x10, DCACHE_TYPE_LOAD_8 , 0), 0xef);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x11, DCACHE_TYPE_LOAD_8 , 0), 0xbe);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x12, DCACHE_TYPE_LOAD_8 , 0), 0xad);
+  TEST(morpheo::behavioural::Tdcache_data_t, memory -> access (2, 0x13, DCACHE_TYPE_LOAD_8 , 0), 0xde);
 
   TEST(morpheo::behavioural::Tdcache_data_t, memory -> read_lsq (2, 0x10, OPERATION_MEMORY_LOAD_8_Z ), 0x000000ef);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test1.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test1.cpp	(revision 78)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test1.cpp	(revision 81)
@@ -642,5 +642,8 @@
 
 		  if ((out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_SYNCHRONIZATION) or
-		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD))
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_8 ) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_16) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_32) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_64))
 		    {
 		      LABEL("     * have_dcache_rsp");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp	(revision 78)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp	(revision 81)
@@ -681,5 +681,8 @@
 		  // test type : send or not a respons !
 		  if ((out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_SYNCHRONIZATION) or
-		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_8 ) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_16) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_32) or
+		      (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_LOAD_64) or
 		      ((error != DCACHE_ERROR_NONE) and ((out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_STORE_8 ) or
 							 (out_DCACHE_REQ_TYPE->read() == DCACHE_TYPE_STORE_16) or
