diff --git a/MdePkg/Include/Arm/ProcessorBind.h b/MdePkg/Include/Arm/ProcessorBind.h
index 5a8204ba2e..3d924f19a3 100644
--- a/MdePkg/Include/Arm/ProcessorBind.h
+++ b/MdePkg/Include/Arm/ProcessorBind.h
@@ -72,9 +72,9 @@
 #endif
 
 //
-// RVCT and MSFT don't support the __builtin_unreachable() macro
+// MSFT doesn't support the __builtin_unreachable() macro
 //
-#if defined (__ARMCC_VERSION) || defined (_MSC_EXTENSIONS)
+#if defined (_MSC_EXTENSIONS)
 #define UNREACHABLE()
 #endif
 
diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
index ce7bdedd34..d19ddfe4bb 100644
--- a/MdePkg/Include/Base.h
+++ b/MdePkg/Include/Base.h
@@ -204,15 +204,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED
 #endif
 
-#ifdef __CC_ARM
-//
-// Older RVCT ARM compilers don't fully support #pragma pack and require __packed
-// as a prefix for the structure.
-//
-#define PACKED  __packed
-#else
 #define PACKED
-#endif
 
 ///
 /// 128 bit buffer containing a unique identifier value.
@@ -578,39 +570,7 @@ struct _LIST_ENTRY {
 **/
 #define _INT_SIZE_OF(n)  ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1))
 
-#if defined (__CC_ARM)
-//
-// RVCT ARM variable argument list support.
-//
-
-///
-/// Variable used to traverse the list of arguments. This type can vary by
-/// implementation and could be an array or structure.
-///
-  #ifdef __APCS_ADSABI
-typedef int *va_list[1];
-#define VA_LIST  va_list
-  #else
-typedef struct __va_list {
-  void    *__ap;
-} va_list;
-#define VA_LIST  va_list
-  #endif
-
-#define VA_START(Marker, Parameter)  __va_start(Marker, Parameter)
-
-#define VA_ARG(Marker, TYPE)  __va_arg(Marker, TYPE)
-
-#define VA_END(Marker)  ((void)0)
-
-// For some ARM RVCT compilers, __va_copy is not defined
-  #ifndef __va_copy
-#define __va_copy(dest, src)  ((void)((dest) = (src)))
-  #endif
-
-#define VA_COPY(Dest, Start)  __va_copy (Dest, Start)
-
-#elif defined (_M_ARM) || defined (_M_ARM64)
+#if defined (_M_ARM) || defined (_M_ARM64)
 //
 // MSFT ARM variable argument list support.
 //
diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index 950f5229b2..c4cd29a783 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -47,8 +47,6 @@
   Ebc/CpuSleepFlushTlb.c
 
 [Sources.ARM]
-  Arm/CpuFlushTlb.asm | RVCT
-  Arm/CpuSleep.asm    | RVCT
   Arm/CpuFlushTlb.asm | MSFT
   Arm/CpuSleep.asm    | MSFT
   Arm/CpuFlushTlb.S   | GCC
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
index cea6857926..e803abc0b1 100644
--- a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
+++ b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
@@ -31,7 +31,6 @@
 [Sources.ARM]
   IoLibArmVirt.c
   Arm/ArmVirtMmio.S       | GCC
-  Arm/ArmVirtMmio.asm     | RVCT
 
 [Sources.AARCH64]
   IoLibArmVirt.c
diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf
index 16b7ac3917..6be5be9428 100644
--- a/MdePkg/Library/BaseLib/BaseLib.inf
+++ b/MdePkg/Library/BaseLib/BaseLib.inf
@@ -341,19 +341,8 @@
 [Sources.ARM]
   Arm/InternalSwitchStack.c
   Arm/Unaligned.c
-  Math64.c                   | RVCT
   Math64.c                   | MSFT
 
-  Arm/SwitchStack.asm        | RVCT
-  Arm/SetJumpLongJump.asm    | RVCT
-  Arm/DisableInterrupts.asm  | RVCT
-  Arm/EnableInterrupts.asm   | RVCT
-  Arm/GetInterruptsState.asm | RVCT
-  Arm/CpuPause.asm           | RVCT
-  Arm/CpuBreakpoint.asm      | RVCT
-  Arm/MemoryFence.asm        | RVCT
-  Arm/SpeculationBarrier.S   | RVCT
-
   Arm/SwitchStack.asm        | MSFT
   Arm/SetJumpLongJump.asm    | MSFT
   Arm/DisableInterrupts.asm  | MSFT
diff --git a/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf b/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
index d09bd12bef..09a610c31c 100644
--- a/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
+++ b/MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
@@ -180,16 +180,8 @@
 [Sources.ARM]
   Arm/InternalSwitchStack.c
   Arm/Unaligned.c
-  Math64.c                   | RVCT
   Math64.c                   | MSFT
 
-  Arm/SwitchStack.asm        | RVCT
-  Arm/SetJumpLongJump.asm    | RVCT
-  Arm/CpuPause.asm           | RVCT
-  Arm/CpuBreakpoint.asm      | RVCT
-  Arm/MemoryFence.asm        | RVCT
-  Arm/SpeculationBarrier.S   | RVCT
-
   Arm/SwitchStack.asm        | MSFT
   Arm/SetJumpLongJump.asm    | MSFT
   Arm/CpuPause.asm           | MSFT
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index e4e3d532e7..366a6c6f64 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -85,12 +85,6 @@
   Arm/CompareMem.S    |GCC
   Arm/CompareGuid.S   |GCC
 
-  Arm/ScanMem.asm     |RVCT
-  Arm/SetMem.asm      |RVCT
-  Arm/CopyMem.asm     |RVCT
-  Arm/CompareMem.asm  |RVCT
-  Arm/CompareGuid.asm |RVCT
-
 [Sources.AARCH64]
   AArch64/ScanMem.S
   AArch64/SetMem.S
diff --git a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
index 0dc3c4a83a..b827645d72 100644
--- a/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+++ b/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
@@ -26,7 +26,6 @@
 
 [Sources]
   BaseStackCheckGcc.c  | GCC
-  BaseStackCheckGcc.c  | RVCT
   BaseStackCheckNull.c | MSFT
 
 [Packages]
diff --git a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
index 83d5b8ed7c..02ba12961a 100755
--- a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+++ b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
@@ -71,7 +71,6 @@
 
 [Sources.ARM]
   Synchronization.c
-  Arm/Synchronization.asm       | RVCT
   Arm/Synchronization.S         | GCC
 
 [Sources.AARCH64]