diff --git a/External/skidmarks10/Makefile b/External/skidmarks10/Makefile
index 8ad84d9..c7d54f3 100644
--- a/External/skidmarks10/Makefile
+++ b/External/skidmarks10/Makefile
@@ -4,7 +4,6 @@
 PROG = skidmarks
 
 DISABLE_JIT = 1
-DISABLE_CBE = 1
 
 SourceDir := $(SKIDMARKS10_ROOT)/source
 RUN_OPTIONS = 0 $(SKIDMARKS10_ROOT)/golden
diff --git a/LLVMSource/Makefile b/LLVMSource/Makefile
index 9c3f6f4..24d789e 100644
--- a/LLVMSource/Makefile
+++ b/LLVMSource/Makefile
@@ -17,8 +17,6 @@
 Output/%.llvm.bc: %.ll $(LLVMAS) Output/.dir
 	$(LLVMAS) $< -f -o $@
 
-all:: $(CBEOUTPUT)
-
 ifdef TARGET_HAS_JIT
 all:: $(JITOUTPUT)
 endif
diff --git a/Makefile.programs b/Makefile.programs
index 2a0c29e..606f61c 100644
--- a/Makefile.programs
+++ b/Makefile.programs
@@ -160,7 +160,6 @@
 
 LLCCODEGEN := $(addsuffix .llc.s,   $(PREFIXED_PROGRAMS_TO_TEST))
 LLCBETACODEGEN := $(addsuffix .llc-beta.s,   $(PREFIXED_PROGRAMS_TO_TEST))
-CBECODEGEN := $(addsuffix .cbe,     $(PREFIXED_PROGRAMS_TO_TEST))
 
 # Output produced by programs run
 GCCOUTPUT := $(addsuffix .ll,       $(addprefix Output/,$basename $(Source)))
@@ -170,7 +169,6 @@
 JITBETAOUTPUT := $(addsuffix .out-jit-beta,  $(PREFIXED_PROGRAMS_TO_TEST))
 LLCOUTPUT := $(addsuffix .out-llc,  $(PREFIXED_PROGRAMS_TO_TEST))
 LLCBETAOUTPUT := $(addsuffix .out-llc-beta,  $(PREFIXED_PROGRAMS_TO_TEST))
-CBEOUTPUT := $(addsuffix .out-cbe,  $(PREFIXED_PROGRAMS_TO_TEST))
 
 # Diffs of program runs vs the native program
 LLIDIFFS  := $(addsuffix .diff-lli, $(PREFIXED_PROGRAMS_TO_TEST))
@@ -179,7 +177,6 @@
 LLCDIFFS  := $(addsuffix .diff-llc, $(PREFIXED_PROGRAMS_TO_TEST))
 LLCBETADIFFS  := $(addsuffix .diff-llc-beta, $(PREFIXED_PROGRAMS_TO_TEST))
 OPTBETADIFFS  := $(addsuffix .diff-opt-beta, $(PREFIXED_PROGRAMS_TO_TEST))
-CBEDIFFS  := $(addsuffix .diff-cbe, $(PREFIXED_PROGRAMS_TO_TEST))
 
 # Profiles for the program.
 PROFOUTPUT := $(addsuffix .prof, $(PREFIXED_PROGRAMS_TO_TEST))
@@ -215,12 +212,6 @@
 DISABLE_LLC_DIFFS = 1
 endif
 
-ifndef DISABLE_CBE
-all:: $(CBECODEGEN)
-else
-DISABLE_CBE_DIFFS = 1
-endif
-
 ifndef DISABLE_DIFFS
 ifndef DISABLE_LLC_DIFFS
 all:: $(LLCDIFFS)
@@ -229,10 +220,6 @@
 endif
 endif#DISABLE_LLC_DIFFS
 
-ifndef DISABLE_CBE_DIFFS
-all:: $(CBEDIFFS)
-endif
-
 ifdef TARGET_HAS_JIT
 ifndef DISABLE_JIT
 all:: $(JITDIFFS)
diff --git a/MultiSource/Applications/viterbi/dec_viterbi_F.c b/MultiSource/Applications/viterbi/dec_viterbi_F.c
index 7329de4..c415d42 100644
--- a/MultiSource/Applications/viterbi/dec_viterbi_F.c
+++ b/MultiSource/Applications/viterbi/dec_viterbi_F.c
@@ -14,7 +14,7 @@
 #if 0
   /* FIXME */
   /* Time varies between runs giving false negatives about which run
-     (JIT, CBE, or LLC) failed */
+     (JIT or LLC) failed */
   double startTime, now, estTotal;
 #endif /* 0 */
   
@@ -38,7 +38,7 @@
 #if 0
   /* FIXME */
   /* Time varies between runs giving false negatives about which run
-     (JIT, CBE, or LLC) failed */
+     (JIT or LLC) failed */
   startTime = sTime();
 #endif /* 0 */
   i_punct = 0;
@@ -46,7 +46,7 @@
 #if 0
     /* FIXME */
     /* Time varies between runs giving false negatives about which run
-       (JIT, CBE, or LLC) failed */
+       (JIT or LLC) failed */
     if (i_in && (i_in % 10000 == 0)) {
       now = sTime();
       estTotal = ((double)1.02*bit_stream->length/((double)i_in))*(now-startTime);
diff --git a/SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls.c b/SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls.c
index f1f14b0..9ce4e7b 100644
--- a/SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls.c
+++ b/SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls.c
@@ -73,7 +73,7 @@
 
   /* note: we don't test zero, because the _native_ test will get it
    * wrong (GCC returns garbage for ctz/clz of 0), and the nightly tester
-   * will wrongly conclude that CBE and LLC are both failing.
+   * will wrongly conclude that LLC is failing.
    */
   for(i=10; i<139045193; i*=-3) {
     printf("LLVM: n: %d, clz(n): %d, popcount(n): %d, ctz(n): %d\n",
diff --git a/SingleSource/UnitTests/Integer/Makefile b/SingleSource/UnitTests/Integer/Makefile
index de713d1..cd4911b 100644
--- a/SingleSource/UnitTests/Integer/Makefile
+++ b/SingleSource/UnitTests/Integer/Makefile
@@ -16,10 +16,8 @@
 # None of these test cases can use a native code generator because
 # those targets are not set up to deal with arbitrary precision
 # integer types. Consequently, we must disable the LLI, LLC, 
-# LLC-BETA, and JIT test cases. This leaves the CBE which can
-# handle the arbitrary precision integers.
+# LLC-BETA, and JIT test cases.
 
-DISABLE_CBE := 1
 DISABLE_LLC := 1
 DISABLE_JIT := 1
 ENABLE_LLI  := 1
diff --git a/SingleSource/UnitTests/Vector/Altivec/Makefile b/SingleSource/UnitTests/Vector/Altivec/Makefile
index 04a9183..7519731 100644
--- a/SingleSource/UnitTests/Vector/Altivec/Makefile
+++ b/SingleSource/UnitTests/Vector/Altivec/Makefile
@@ -6,8 +6,5 @@
 FP_TOLERANCE := 0.002
 include $(LEVEL)/SingleSource/Makefile.singlesrc
 
-# FIXME: CBE doesn't support vectors: PR1126
-DISABLE_CBE=1
-
 TARGET_FLAGS += -maltivec -faltivec
 LCCFLAGS += -maltivec -faltivec
diff --git a/TEST.nightly.Makefile b/TEST.nightly.Makefile
index 7842aea..ac95d7a 100644
--- a/TEST.nightly.Makefile
+++ b/TEST.nightly.Makefile
@@ -19,10 +19,6 @@
 REPORTS_TO_GEN +=  jit compile
 REPORT_DEPENDENCIES += $(LLI) $(LOPT)
 endif
-ifndef DISABLE_CBE
-REPORTS_TO_GEN +=  cbe compile
-REPORT_DEPENDENCIES += $(CBE) $(LOPT)
-endif
 ifdef ENABLE_LLCBETA
 REPORTS_TO_GEN += llc-beta compile
 REPORT_DEPENDENCIES += $(LLC) $(LOPT)
@@ -104,20 +100,6 @@
 	  echo "TEST-FAIL: opt-beta $(RELDIR)/$*" >> $@;\
 	fi
 
-# CBE tests
-$(PROGRAMS_TO_TEST:%=Output/%.nightly.cbe.report.txt): \
-Output/%.nightly.cbe.report.txt: Output/%.exe-cbe
-	@echo > $@
-	@-if test -f Output/$*.exe-cbe; then \
-	  head -n 100 Output/$*.exe-cbe >> $@; \
-	  echo "TEST-PASS: cbe $(RELDIR)/$*" >> $@;\
-	  printf "TEST-RESULT-cbe-time: " >> $@;\
-	  grep "^program" Output/$*.out-cbe.time >> $@;\
-	  echo >> $@;\
-	else  \
-	  echo "TEST-FAIL: cbe $(RELDIR)/$*" >> $@;\
-	fi
-
 # JIT tests
 $(PROGRAMS_TO_TEST:%=Output/%.nightly.jit.report.txt): \
 Output/%.nightly.jit.report.txt: Output/%.exe-jit
diff --git a/TEST.nightly.report b/TEST.nightly.report
index 351009d..9f93f3f 100644
--- a/TEST.nightly.report
+++ b/TEST.nightly.report
@@ -20,15 +20,6 @@
   return sprintf("%7.4f", $Time);
 }
 
-sub GCCCBERatio {
-  my ($Cols, $Col) = @_;
-  my $GCC = $Cols->[$Col-6];
-  my $CBE = $Cols->[$Col-5];
-  return "n/a" if ($GCC eq "*" or $CBE eq "*");
-  return sprintf("%3.2f", $GCC/$CBE) if ($GCC >= 0.1 and $CBE >= 0.1);
-  return "-";
-}
-
 sub GCCLLCRatio {
   my ($Cols, $Col) = @_;
   my $GCC = $Cols->[$Col-7];
@@ -77,12 +68,10 @@
  ["JIT codegen" , "TEST-RESULT-jit-comptime: .*$WallTimeRE"],
  [],
  ["GCC"      , 'TEST-RESULT-nat-time: program\s*([.0-9m:]+)', \&FormatTime],
- ["CBE"      , 'TEST-RESULT-cbe-time: program\s*([.0-9m:]+)', \&FormatTime],
  ["LLC"      , 'TEST-RESULT-llc-time: program\s*([.0-9m:]+)', \&FormatTime],
  ["LLC-BETA" , 'TEST-RESULT-llc-beta-time: program\s*([.0-9m:]+)',\&FormatTime],
  ["JIT"      , 'TEST-RESULT-jit-time: program\s*([.0-9m:]+)', \&FormatTime],
  [],
- ["GCC/CBE"  , \&GCCCBERatio],
  ["GCC/LLC"  , \&GCCLLCRatio],
  ["GCC/LLC-BETA"  , \&GCCLLC_BETARatio],
  ["LLC/LLC-BETA"  , \&LLCLLC_BETARatio]
diff --git a/TEST.vtl.Makefile b/TEST.vtl.Makefile
index 0aa1eb3..2a8c184 100644
--- a/TEST.vtl.Makefile
+++ b/TEST.vtl.Makefile
@@ -17,33 +17,3 @@
 P3_EVENTS := "-ec en='L2 Cache Request Misses (highly correlated)'"
 
 EVENTS := $(P4_EVENTS)
-
-#
-# Generate events for LLC
-#
-#$(PROGRAMS_TO_TEST:%=test.$(TEST).%): \
-#test.$(TEST).%: Output/%.llc
-	#@echo "========================================="
-	#@echo "Running '$(TEST)' test on '$(TESTNAME)' program"
-	#$(VERB) $(VTL) activity $* -d 50 -c sampling -o $(EVENTS) -app $<
-	#-$(VERB) $(VTL) run $*
-	#-$(VERB) $(VTL) view > $@
-	#$(VERB)  $(VTL) delete $* -f
-
-
-#
-# Generate events for CBE
-#
-$(PROGRAMS_TO_TEST:%=test.$(TEST).%): \
-test.$(TEST).%: Output/%.cbe
-	@echo "========================================="
-	@echo "Running '$(TEST)' test on '$(TESTNAME)' program"
-ifeq ($(RUN_OPTIONS),)
-	$(VERB) cat $(STDIN_FILENAME) | $(VTL) activity $* -d 50 -c sampling -o $(EVENTS) -app $<
-else
-	$(VERB) cat $(STDIN_FILENAME) | $(VTL) activity $* -d 50 -c sampling -o $(EVENTS) -app $<,"$(RUN_OPTIONS)"
-endif
-	-$(VERB) $(VTL) run $*
-	-$(VERB) $(VTL) view > $@
-	$(VERB)  $(VTL) delete $* -f
-
