Index: boot/arch/mips32/loader/Makefile
===================================================================
--- boot/arch/mips32/loader/Makefile	(revision 4f42d52e33ada8d9034f22f9f731bb5660569488)
+++ boot/arch/mips32/loader/Makefile	(revision 67f5fbd92424ee3d6c31b93b0b515498a9a24b3e)
@@ -36,5 +36,5 @@
 TOOLCHAIN_DIR = /usr/local/mipsel/bin
 
-ifeq ($(COMPILER),native)
+ifeq ($(COMPILER),gcc_native)
 	CC = gcc
 	AS = as
@@ -42,5 +42,15 @@
 	OBJCOPY = objcopy
 	OBJDUMP = objdump
-else
+endif
+
+ifeq ($(COMPILER),icc_native)
+	CC = icc
+	AS = as
+	LD = ld
+	OBJCOPY = objcopy
+	OBJDUMP = objdump
+endif
+
+ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
 	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
Index: boot/arch/ppc32/loader/Makefile
===================================================================
--- boot/arch/ppc32/loader/Makefile	(revision 4f42d52e33ada8d9034f22f9f731bb5660569488)
+++ boot/arch/ppc32/loader/Makefile	(revision 67f5fbd92424ee3d6c31b93b0b515498a9a24b3e)
@@ -36,5 +36,5 @@
 TOOLCHAIN_DIR = /usr/local/ppc/bin
 
-ifeq ($(COMPILER),native)
+ifeq ($(COMPILER),gcc_native)
 	CC = gcc
 	AS = as
@@ -42,5 +42,15 @@
 	OBJCOPY = objcopy
 	OBJDUMP = objdump
-else
+endif
+
+ifeq ($(COMPILER),icc_native)
+	CC = icc
+	AS = as
+	LD = ld
+	OBJCOPY = objcopy
+	OBJDUMP = objdump
+endif
+
+ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
 	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
Index: boot/arch/ppc64/loader/Makefile
===================================================================
--- boot/arch/ppc64/loader/Makefile	(revision 4f42d52e33ada8d9034f22f9f731bb5660569488)
+++ boot/arch/ppc64/loader/Makefile	(revision 67f5fbd92424ee3d6c31b93b0b515498a9a24b3e)
@@ -36,5 +36,5 @@
 TOOLCHAIN_DIR = /usr/local/ppc64/bin
 
-ifeq ($(COMPILER),native)
+ifeq ($(COMPILER),gcc_native)
 	CC = gcc
 	AS = as
@@ -42,5 +42,15 @@
 	OBJCOPY = objcopy
 	OBJDUMP = objdump
-else
+endif
+
+ifeq ($(COMPILER),icc_native)
+	CC = icc
+	AS = as
+	LD = ld
+	OBJCOPY = objcopy
+	OBJDUMP = objdump
+endif
+
+ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
 	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
Index: boot/arch/sparc64/loader/Makefile
===================================================================
--- boot/arch/sparc64/loader/Makefile	(revision 4f42d52e33ada8d9034f22f9f731bb5660569488)
+++ boot/arch/sparc64/loader/Makefile	(revision 67f5fbd92424ee3d6c31b93b0b515498a9a24b3e)
@@ -36,5 +36,5 @@
 TOOLCHAIN_DIR = /usr/local/sparc64/bin
 
-ifeq ($(COMPILER),native)
+ifeq ($(COMPILER),gcc_native)
 	CC = gcc
 	AS = as
@@ -42,5 +42,15 @@
 	OBJCOPY = objcopy
 	OBJDUMP = objdump
-else
+endif
+
+ifeq ($(COMPILER),icc_native)
+	CC = icc
+	AS = as
+	LD = ld
+	OBJCOPY = objcopy
+	OBJDUMP = objdump
+endif
+
+ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
 	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
Index: boot/boot.config
===================================================================
--- boot/boot.config	(revision 4f42d52e33ada8d9034f22f9f731bb5660569488)
+++ boot/boot.config	(revision 67f5fbd92424ee3d6c31b93b0b515498a9a24b3e)
@@ -14,6 +14,7 @@
 
 # Compiler
-@ "cross" Cross-compiler
-@ "native" Native
+@ "gcc_cross" GCC Cross-compiler
+@ "gcc_native" GCC Native
+@ "icc_native" ICC Native
 ! COMPILER (choice)
 
