Drop support for CONFIG_EMULATE_HARDWARE

This experiment complexifies DSP function dispatch, without bringing
any real value (it's non-normative arbitrary behaviour).
Moreover, it only has an effect on obsolete transforms, the new ones
don't implement this mechanism.

Change-Id: Idaccdd0c14ed6b7008cd4f365c7f017ba8ccacf5
diff --git a/aom_dsp/aom_dsp_rtcd_defs.pl b/aom_dsp/aom_dsp_rtcd_defs.pl
old mode 100644
new mode 100755
index ea40b36..a79b041
--- a/aom_dsp/aom_dsp_rtcd_defs.pl
+++ b/aom_dsp/aom_dsp_rtcd_defs.pl
@@ -407,8 +407,6 @@
 # Inverse transform
 if (aom_config("CONFIG_AV1") eq "yes") {
 if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
-  # Note as optimized versions of these functions are added we need to add a check to ensure
-  # that when CONFIG_EMULATE_HARDWARE is on, it defaults to the C versions only.
   add_proto qw/void aom_iwht4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
 
   add_proto qw/void aom_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
@@ -430,42 +428,7 @@
 
   add_proto qw/void aom_highbd_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
 
-  # Force C versions if CONFIG_EMULATE_HARDWARE is 1
-  if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
-    add_proto qw/void aom_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct8x8_12_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct8x8_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct16x16_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct16x16_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_1024_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_135_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_34_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_highbd_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
-
-    add_proto qw/void aom_highbd_idct8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
-
-    add_proto qw/void aom_highbd_idct8x8_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
-
-    add_proto qw/void aom_highbd_idct16x16_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
-
-    add_proto qw/void aom_highbd_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
-  } else {
+  {
     add_proto qw/void aom_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
     specialize qw/aom_idct4x4_16_add sse2/;
 
@@ -518,38 +481,9 @@
 
     add_proto qw/void aom_highbd_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
     specialize qw/aom_highbd_idct16x16_10_add sse2/;
-  }  # CONFIG_EMULATE_HARDWARE
+  }
 } else {
-  # Force C versions if CONFIG_EMULATE_HARDWARE is 1
-  if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
-    add_proto qw/void aom_idct4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct8x8_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct8x8_12_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct16x16_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct16x16_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_1024_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_135_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_34_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_idct32x32_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_iwht4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-
-    add_proto qw/void aom_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
-  } else {
+  {
     add_proto qw/void aom_idct4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
     specialize qw/aom_idct4x4_1_add sse2 neon dspr2 msa/;
 
@@ -598,7 +532,7 @@
 
     add_proto qw/void aom_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
     specialize qw/aom_iwht4x4_16_add msa sse2/;
-  }  # CONFIG_EMULATE_HARDWARE
+  }
 }  # CONFIG_HIGHBITDEPTH
 }  # CONFIG_AV1
 
diff --git a/aom_dsp/inv_txfm.h b/aom_dsp/inv_txfm.h
index 17d3cfa..e64d463 100644
--- a/aom_dsp/inv_txfm.h
+++ b/aom_dsp/inv_txfm.h
@@ -50,37 +50,10 @@
   return input;
 }
 
-#if CONFIG_EMULATE_HARDWARE
-// When CONFIG_EMULATE_HARDWARE is 1 the transform performs a
-// non-normative method to handle overflows. A stream that causes
-// overflows  in the inverse transform is considered invalid,
-// and a hardware implementer is free to choose any reasonable
-// method to handle overflows. However to aid in hardware
-// verification they can use a specific implementation of the
-// WRAPLOW() macro below that is identical to their intended
-// hardware implementation (and also use configure options to trigger
-// the C-implementation of the transform).
-//
-// The particular WRAPLOW implementation below performs strict
-// overflow wrapping to match common hardware implementations.
-// bd of 8 uses trans_low with 16bits, need to remove 16bits
-// bd of 10 uses trans_low with 18bits, need to remove 14bits
-// bd of 12 uses trans_low with 20bits, need to remove 12bits
-// bd of x uses trans_low with 8+x bits, need to remove 24-x bits
-
-#define WRAPLOW(x) ((((int32_t)check_range(x, 8)) << 16) >> 16)
-#if CONFIG_HIGHBITDEPTH
-#define HIGHBD_WRAPLOW(x, bd) \
-  ((((int32_t)check_range((x), bd)) << (24 - bd)) >> (24 - bd))
-#endif  // CONFIG_HIGHBITDEPTH
-
-#else  // CONFIG_EMULATE_HARDWARE
-
 #define WRAPLOW(x) ((int32_t)check_range(x, 8))
 #if CONFIG_HIGHBITDEPTH
 #define HIGHBD_WRAPLOW(x, bd) ((int32_t)check_range((x), bd))
 #endif  // CONFIG_HIGHBITDEPTH
-#endif  // CONFIG_EMULATE_HARDWARE
 
 void aom_idct4_c(const tran_low_t *input, tran_low_t *output);
 void aom_idct8_c(const tran_low_t *input, tran_low_t *output);
diff --git a/av1/common/av1_rtcd_defs.pl b/av1/common/av1_rtcd_defs.pl
old mode 100644
new mode 100755
index 8dd3d0f..1dca10c
--- a/av1/common/av1_rtcd_defs.pl
+++ b/av1/common/av1_rtcd_defs.pl
@@ -62,35 +62,7 @@
 # Inverse dct
 #
 if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
-  # Note as optimized versions of these functions are added we need to add a check to ensure
-  # that when CONFIG_EMULATE_HARDWARE is on, it defaults to the C versions only.
-  if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
-    add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht4x8_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x4_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x16_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x8_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x32_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht32x16_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht4x16_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x4_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x32_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht32x8_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x16_256_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
-  } else {
+  {
     add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
       specialize qw/av1_iht4x4_16_add sse2/;
 
@@ -129,37 +101,7 @@
     add_proto qw/void av1_iht32x32_1024_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
   }
 } else {
-  # Force C versions if CONFIG_EMULATE_HARDWARE is 1
-  if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
-    add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht4x8_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x4_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x16_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x8_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x32_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht32x16_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht4x16_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x4_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x32_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht32x8_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
-
-    add_proto qw/void av1_iht16x16_256_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
-
-    add_proto qw/void av1_iht32x32_1024_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
-
-  } else {
+  {
     add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
     specialize qw/av1_iht4x4_16_add sse2 neon dspr2/;
 
@@ -284,8 +226,6 @@
   #
   # dct
   #
-  # Note as optimized versions of these functions are added we need to add a check to ensure
-  # that when CONFIG_EMULATE_HARDWARE is on, it defaults to the C versions only.
   add_proto qw/void av1_highbd_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type, int bd";
 
   add_proto qw/void av1_highbd_iht4x8_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type, int bd";
diff --git a/build/cmake/aom_config.asm.cmake b/build/cmake/aom_config.asm.cmake
index 30ae7cb..7f8c556 100644
--- a/build/cmake/aom_config.asm.cmake
+++ b/build/cmake/aom_config.asm.cmake
@@ -72,7 +72,6 @@
 CONFIG_SIZE_LIMIT equ ${CONFIG_SIZE_LIMIT}
 CONFIG_AOM_QM equ ${CONFIG_AOM_QM}
 CONFIG_FP_MB_STATS equ ${CONFIG_FP_MB_STATS}
-CONFIG_EMULATE_HARDWARE equ ${CONFIG_EMULATE_HARDWARE}
 CONFIG_CDEF equ ${CONFIG_CDEF}
 CONFIG_VAR_TX equ ${CONFIG_VAR_TX}
 CONFIG_RECT_TX equ ${CONFIG_RECT_TX}
diff --git a/build/cmake/aom_config.h.cmake b/build/cmake/aom_config.h.cmake
index eaffe0f..b154bf0 100644
--- a/build/cmake/aom_config.h.cmake
+++ b/build/cmake/aom_config.h.cmake
@@ -89,7 +89,6 @@
 #define CONFIG_SIZE_LIMIT ${CONFIG_SIZE_LIMIT}
 #define CONFIG_AOM_QM ${CONFIG_AOM_QM}
 #define CONFIG_FP_MB_STATS ${CONFIG_FP_MB_STATS}
-#define CONFIG_EMULATE_HARDWARE ${CONFIG_EMULATE_HARDWARE}
 #define CONFIG_CDEF ${CONFIG_CDEF}
 #define CONFIG_VAR_TX ${CONFIG_VAR_TX}
 #define CONFIG_RECT_TX ${CONFIG_RECT_TX}
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 404861a..1b4ecb0 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -89,7 +89,6 @@
 set(CONFIG_SIZE_LIMIT 0 CACHE BOOL "Internal flag.")
 set(CONFIG_AOM_QM 0 CACHE BOOL "Internal flag.")
 set(CONFIG_FP_MB_STATS 0 CACHE BOOL "Internal flag.")
-set(CONFIG_EMULATE_HARDWARE 0 CACHE BOOL "Internal flag.")
 set(CONFIG_CDEF 1 CACHE BOOL "Internal flag.")
 set(CONFIG_VAR_TX 0 CACHE BOOL "Internal flag.")
 set(CONFIG_RECT_TX 1 CACHE BOOL "Internal flag.")
diff --git a/build/cmake/targets/rtcd_templates/arm64.rtcd.cmake b/build/cmake/targets/rtcd_templates/arm64.rtcd.cmake
index d5dbd30..e5b2a86 100644
--- a/build/cmake/targets/rtcd_templates/arm64.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/arm64.rtcd.cmake
@@ -43,7 +43,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/armv7.rtcd.cmake b/build/cmake/targets/rtcd_templates/armv7.rtcd.cmake
index 01b83ce..b8b1828 100644
--- a/build/cmake/targets/rtcd_templates/armv7.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/armv7.rtcd.cmake
@@ -44,7 +44,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/armv7s.rtcd.cmake b/build/cmake/targets/rtcd_templates/armv7s.rtcd.cmake
index 01b83ce..b8b1828 100644
--- a/build/cmake/targets/rtcd_templates/armv7s.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/armv7s.rtcd.cmake
@@ -44,7 +44,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/generic.rtcd.cmake b/build/cmake/targets/rtcd_templates/generic.rtcd.cmake
index f267b7c..20d6d46 100644
--- a/build/cmake/targets/rtcd_templates/generic.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/generic.rtcd.cmake
@@ -40,7 +40,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/mips32.rtcd.cmake b/build/cmake/targets/rtcd_templates/mips32.rtcd.cmake
index 9b96313..a823fa4 100644
--- a/build/cmake/targets/rtcd_templates/mips32.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/mips32.rtcd.cmake
@@ -45,7 +45,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/mips64.rtcd.cmake b/build/cmake/targets/rtcd_templates/mips64.rtcd.cmake
index 9245d6f..34487e3 100644
--- a/build/cmake/targets/rtcd_templates/mips64.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/mips64.rtcd.cmake
@@ -44,7 +44,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/x86.rtcd.cmake b/build/cmake/targets/rtcd_templates/x86.rtcd.cmake
index ca942af..2d8c430 100644
--- a/build/cmake/targets/rtcd_templates/x86.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/x86.rtcd.cmake
@@ -50,7 +50,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/build/cmake/targets/rtcd_templates/x86_64.rtcd.cmake b/build/cmake/targets/rtcd_templates/x86_64.rtcd.cmake
index c06b6b1..d05ef04 100644
--- a/build/cmake/targets/rtcd_templates/x86_64.rtcd.cmake
+++ b/build/cmake/targets/rtcd_templates/x86_64.rtcd.cmake
@@ -50,7 +50,6 @@
 CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
 CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
 CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
-CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
 CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
 CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
 CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
diff --git a/configure b/configure
index 0a8c3ad..be5df53 100755
--- a/configure
+++ b/configure
@@ -245,7 +245,6 @@
 "
 EXPERIMENT_LIST="
     fp_mb_stats
-    emulate_hardware
     cdef
     var_tx
     rect_tx
diff --git a/test/av1_fht16x16_test.cc b/test/av1_fht16x16_test.cc
index 1846fc0..e1032ef 100644
--- a/test/av1_fht16x16_test.cc
+++ b/test/av1_fht16x16_test.cc
@@ -163,7 +163,7 @@
 
 using std::tr1::make_tuple;
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht16x16Param kArrayHt16x16Param_sse2[] = {
   make_tuple(&av1_fht16x16_sse2, &av1_iht16x16_256_add_sse2, 0, AOM_BITS_8,
              256),
@@ -202,9 +202,9 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans16x16HT,
                         ::testing::ValuesIn(kArrayHt16x16Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
-#if HAVE_AVX2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_AVX2
 const Ht16x16Param kArrayHt16x16Param_avx2[] = {
   make_tuple(&av1_fht16x16_avx2, &av1_iht16x16_256_add_avx2, 0, AOM_BITS_8,
              256),
@@ -243,9 +243,9 @@
 };
 INSTANTIATE_TEST_CASE_P(AVX2, AV1Trans16x16HT,
                         ::testing::ValuesIn(kArrayHt16x16Param_avx2));
-#endif  // HAVE_AVX2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_AVX2
 
-#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
 const HighbdHt16x16Param kArrayHBDHt16x16Param_sse4_1[] = {
   make_tuple(&av1_fwd_txfm2d_16x16_sse4_1, 0, 10),
   make_tuple(&av1_fwd_txfm2d_16x16_sse4_1, 0, 12),
@@ -270,6 +270,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdTrans16x16HT,
                         ::testing::ValuesIn(kArrayHBDHt16x16Param_sse4_1));
-#endif  // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
 
 }  // namespace
diff --git a/test/av1_fht16x32_test.cc b/test/av1_fht16x32_test.cc
index b578a85..43d0253 100644
--- a/test/av1_fht16x32_test.cc
+++ b/test/av1_fht16x32_test.cc
@@ -100,7 +100,7 @@
 INSTANTIATE_TEST_CASE_P(C, AV1Trans16x32HT,
                         ::testing::ValuesIn(kArrayHt16x32Param_c));
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht16x32Param kArrayHt16x32Param_sse2[] = {
   make_tuple(&av1_fht16x32_sse2, &av1_iht16x32_512_add_sse2, 0, AOM_BITS_8,
              512),
@@ -139,6 +139,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans16x32HT,
                         ::testing::ValuesIn(kArrayHt16x32Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
 }  // namespace
diff --git a/test/av1_fht16x8_test.cc b/test/av1_fht16x8_test.cc
index bd382ac..d99bec5 100644
--- a/test/av1_fht16x8_test.cc
+++ b/test/av1_fht16x8_test.cc
@@ -101,7 +101,7 @@
 INSTANTIATE_TEST_CASE_P(C, AV1Trans16x8HT,
                         ::testing::ValuesIn(kArrayHt16x8Param_c));
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht16x8Param kArrayHt16x8Param_sse2[] = {
   make_tuple(&av1_fht16x8_sse2, &av1_iht16x8_128_add_sse2, 0, AOM_BITS_8, 128),
   make_tuple(&av1_fht16x8_sse2, &av1_iht16x8_128_add_sse2, 1, AOM_BITS_8, 128),
@@ -124,6 +124,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans16x8HT,
                         ::testing::ValuesIn(kArrayHt16x8Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
 }  // namespace
diff --git a/test/av1_fht32x16_test.cc b/test/av1_fht32x16_test.cc
index 56c4e13..e38283f 100644
--- a/test/av1_fht32x16_test.cc
+++ b/test/av1_fht32x16_test.cc
@@ -100,7 +100,7 @@
 INSTANTIATE_TEST_CASE_P(C, AV1Trans32x16HT,
                         ::testing::ValuesIn(kArrayHt32x16Param_c));
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht32x16Param kArrayHt32x16Param_sse2[] = {
   make_tuple(&av1_fht32x16_sse2, &av1_iht32x16_512_add_sse2, 0, AOM_BITS_8,
              512),
@@ -139,6 +139,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans32x16HT,
                         ::testing::ValuesIn(kArrayHt32x16Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
 }  // namespace
diff --git a/test/av1_fht4x4_test.cc b/test/av1_fht4x4_test.cc
index a2fbfde..42837d3 100644
--- a/test/av1_fht4x4_test.cc
+++ b/test/av1_fht4x4_test.cc
@@ -165,7 +165,7 @@
 
 using std::tr1::make_tuple;
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht4x4Param kArrayHt4x4Param_sse2[] = {
   make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_sse2, 0, AOM_BITS_8, 16),
   make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_sse2, 1, AOM_BITS_8, 16),
@@ -188,9 +188,9 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans4x4HT,
                         ::testing::ValuesIn(kArrayHt4x4Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
-#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
 const HighbdHt4x4Param kArrayHighbdHt4x4Param[] = {
   make_tuple(&av1_fwd_txfm2d_4x4_sse4_1, 0, 10),
   make_tuple(&av1_fwd_txfm2d_4x4_sse4_1, 0, 12),
@@ -217,6 +217,6 @@
 INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdTrans4x4HT,
                         ::testing::ValuesIn(kArrayHighbdHt4x4Param));
 
-#endif  // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
 
 }  // namespace
diff --git a/test/av1_fht4x8_test.cc b/test/av1_fht4x8_test.cc
index 21fc468..a899c87 100644
--- a/test/av1_fht4x8_test.cc
+++ b/test/av1_fht4x8_test.cc
@@ -101,7 +101,7 @@
 INSTANTIATE_TEST_CASE_P(C, AV1Trans4x8HT,
                         ::testing::ValuesIn(kArrayHt4x8Param_c));
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht4x8Param kArrayHt4x8Param_sse2[] = {
   make_tuple(&av1_fht4x8_sse2, &av1_iht4x8_32_add_sse2, 0, AOM_BITS_8, 32),
   make_tuple(&av1_fht4x8_sse2, &av1_iht4x8_32_add_sse2, 1, AOM_BITS_8, 32),
@@ -124,6 +124,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans4x8HT,
                         ::testing::ValuesIn(kArrayHt4x8Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
 }  // namespace
diff --git a/test/av1_fht8x16_test.cc b/test/av1_fht8x16_test.cc
index 601fa32..ace9a8f 100644
--- a/test/av1_fht8x16_test.cc
+++ b/test/av1_fht8x16_test.cc
@@ -100,7 +100,7 @@
 INSTANTIATE_TEST_CASE_P(C, AV1Trans8x16HT,
                         ::testing::ValuesIn(kArrayHt8x16Param_c));
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht8x16Param kArrayHt8x16Param_sse2[] = {
   make_tuple(&av1_fht8x16_sse2, &av1_iht8x16_128_add_sse2, 0, AOM_BITS_8, 128),
   make_tuple(&av1_fht8x16_sse2, &av1_iht8x16_128_add_sse2, 1, AOM_BITS_8, 128),
@@ -123,6 +123,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans8x16HT,
                         ::testing::ValuesIn(kArrayHt8x16Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
 }  // namespace
diff --git a/test/av1_fht8x4_test.cc b/test/av1_fht8x4_test.cc
index 8db495e..9bf4ff6 100644
--- a/test/av1_fht8x4_test.cc
+++ b/test/av1_fht8x4_test.cc
@@ -100,7 +100,7 @@
 INSTANTIATE_TEST_CASE_P(C, AV1Trans8x4HT,
                         ::testing::ValuesIn(kArrayHt8x4Param_c));
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht8x4Param kArrayHt8x4Param_sse2[] = {
   make_tuple(&av1_fht8x4_sse2, &av1_iht8x4_32_add_sse2, 0, AOM_BITS_8, 32),
   make_tuple(&av1_fht8x4_sse2, &av1_iht8x4_32_add_sse2, 1, AOM_BITS_8, 32),
@@ -123,6 +123,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans8x4HT,
                         ::testing::ValuesIn(kArrayHt8x4Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
 }  // namespace
diff --git a/test/av1_fht8x8_test.cc b/test/av1_fht8x8_test.cc
index d94752e..99cff10 100644
--- a/test/av1_fht8x8_test.cc
+++ b/test/av1_fht8x8_test.cc
@@ -165,7 +165,7 @@
 
 using std::tr1::make_tuple;
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 const Ht8x8Param kArrayHt8x8Param_sse2[] = {
   make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 0, AOM_BITS_8, 64),
   make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 1, AOM_BITS_8, 64),
@@ -188,9 +188,9 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans8x8HT,
                         ::testing::ValuesIn(kArrayHt8x8Param_sse2));
-#endif  // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2
 
-#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
 const HighbdHt8x8Param kArrayHBDHt8x8Param_sse4_1[] = {
   make_tuple(&av1_fwd_txfm2d_8x8_sse4_1, 0, 10),
   make_tuple(&av1_fwd_txfm2d_8x8_sse4_1, 0, 12),
@@ -215,6 +215,6 @@
 };
 INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdTrans8x8HT,
                         ::testing::ValuesIn(kArrayHBDHt8x8Param_sse4_1));
-#endif  // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
 
 }  // namespace
diff --git a/test/dct16x16_test.cc b/test/dct16x16_test.cc
index 1ac8190..890fb43 100644
--- a/test/dct16x16_test.cc
+++ b/test/dct16x16_test.cc
@@ -851,14 +851,14 @@
                                                      AOM_BITS_8)));
 #endif  // CONFIG_HIGHBITDEPTH
 
-#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     NEON, Trans16x16DCT,
     ::testing::Values(make_tuple(&aom_fdct16x16_c, &aom_idct16x16_256_add_neon,
                                  0, AOM_BITS_8)));
 #endif
 
-#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, Trans16x16DCT,
     ::testing::Values(make_tuple(&aom_fdct16x16_sse2,
@@ -876,15 +876,15 @@
 INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans16x16Test,
                         ::testing::Values(make_tuple(&aom_fdct16x16_1_sse2,
                                                      AOM_BITS_8)));
-#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(AVX2, PartialTrans16x16Test,
                         ::testing::Values(make_tuple(&aom_fdct16x16_1_avx2,
                                                      AOM_BITS_8)));
-#endif  // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, Trans16x16DCT,
     ::testing::Values(
@@ -924,9 +924,9 @@
 INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans16x16Test,
                         ::testing::Values(make_tuple(&aom_fdct16x16_1_sse2,
                                                      AOM_BITS_8)));
-#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 
-#if HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_MSA && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(MSA, Trans16x16DCT,
                         ::testing::Values(make_tuple(&aom_fdct16x16_msa,
                                                      &aom_idct16x16_256_add_msa,
@@ -945,5 +945,5 @@
 INSTANTIATE_TEST_CASE_P(MSA, PartialTrans16x16Test,
                         ::testing::Values(make_tuple(&aom_fdct16x16_1_msa,
                                                      AOM_BITS_8)));
-#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH
 }  // namespace
diff --git a/test/dct32x32_test.cc b/test/dct32x32_test.cc
index f8157a7..2c99007 100644
--- a/test/dct32x32_test.cc
+++ b/test/dct32x32_test.cc
@@ -381,16 +381,16 @@
                                                      AOM_BITS_8)));
 #endif  // CONFIG_HIGHBITDEPTH
 
-#if HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     NEON, Trans32x32Test,
     ::testing::Values(make_tuple(&aom_fdct32x32_c, &aom_idct32x32_1024_add_neon,
                                  0, AOM_BITS_8),
                       make_tuple(&aom_fdct32x32_rd_c,
                                  &aom_idct32x32_1024_add_neon, 1, AOM_BITS_8)));
-#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, Trans32x32Test,
     ::testing::Values(make_tuple(&aom_fdct32x32_sse2,
@@ -400,15 +400,15 @@
 INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans32x32Test,
                         ::testing::Values(make_tuple(&aom_fdct32x32_1_sse2,
                                                      AOM_BITS_8)));
-#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(AVX2, PartialTrans32x32Test,
                         ::testing::Values(make_tuple(&aom_fdct32x32_1_avx2,
                                                      AOM_BITS_8)));
-#endif  // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, Trans32x32Test,
     ::testing::Values(
@@ -425,27 +425,27 @@
 INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans32x32Test,
                         ::testing::Values(make_tuple(&aom_fdct32x32_1_sse2,
                                                      AOM_BITS_8)));
-#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 
-#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     AVX2, Trans32x32Test,
     ::testing::Values(make_tuple(&aom_fdct32x32_avx2,
                                  &aom_idct32x32_1024_add_sse2, 0, AOM_BITS_8),
                       make_tuple(&aom_fdct32x32_rd_avx2,
                                  &aom_idct32x32_1024_add_sse2, 1, AOM_BITS_8)));
-#endif  // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_AVX2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_AVX2 && CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     AVX2, Trans32x32Test,
     ::testing::Values(make_tuple(&aom_fdct32x32_avx2,
                                  &aom_idct32x32_1024_add_sse2, 0, AOM_BITS_8),
                       make_tuple(&aom_fdct32x32_rd_avx2,
                                  &aom_idct32x32_1024_add_sse2, 1, AOM_BITS_8)));
-#endif  // HAVE_AVX2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_AVX2 && CONFIG_HIGHBITDEPTH
 
-#if HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_MSA && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     MSA, Trans32x32Test,
     ::testing::Values(make_tuple(&aom_fdct32x32_msa,
@@ -455,5 +455,5 @@
 INSTANTIATE_TEST_CASE_P(MSA, PartialTrans32x32Test,
                         ::testing::Values(make_tuple(&aom_fdct32x32_1_msa,
                                                      AOM_BITS_8)));
-#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH
 }  // namespace
diff --git a/test/fdct4x4_test.cc b/test/fdct4x4_test.cc
index 3600941..ed265e8 100644
--- a/test/fdct4x4_test.cc
+++ b/test/fdct4x4_test.cc
@@ -260,14 +260,14 @@
                                                      AOM_BITS_8, 16)));
 #endif  // CONFIG_HIGHBITDEPTH
 
-#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(NEON, Trans4x4DCT,
                         ::testing::Values(make_tuple(&aom_fdct4x4_c,
                                                      &aom_idct4x4_16_add_neon,
                                                      0, AOM_BITS_8, 16)));
-#endif  // HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     NEON, Trans4x4HT,
     ::testing::Values(
@@ -275,9 +275,9 @@
         make_tuple(&av1_fht4x4_c, &av1_iht4x4_16_add_neon, 1, AOM_BITS_8, 16),
         make_tuple(&av1_fht4x4_c, &av1_iht4x4_16_add_neon, 2, AOM_BITS_8, 16),
         make_tuple(&av1_fht4x4_c, &av1_iht4x4_16_add_neon, 3, AOM_BITS_8, 16)));
-#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2
 INSTANTIATE_TEST_CASE_P(
     SSE2, Trans4x4WHT,
     ::testing::Values(make_tuple(&av1_fwht4x4_c, &aom_iwht4x4_16_add_c, 0,
@@ -286,7 +286,7 @@
                                  AOM_BITS_8, 16)));
 #endif
 
-#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(SSE2, Trans4x4DCT,
                         ::testing::Values(make_tuple(&aom_fdct4x4_sse2,
                                                      &aom_idct4x4_16_add_sse2,
@@ -301,9 +301,9 @@
                                  AOM_BITS_8, 16),
                       make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_sse2, 3,
                                  AOM_BITS_8, 16)));
-#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, Trans4x4DCT,
     ::testing::Values(
@@ -323,9 +323,9 @@
         make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_c, 1, AOM_BITS_8, 16),
         make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_c, 2, AOM_BITS_8, 16),
         make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_c, 3, AOM_BITS_8, 16)));
-#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 
-#if HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_MSA && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(MSA, Trans4x4DCT,
                         ::testing::Values(make_tuple(&aom_fdct4x4_msa,
                                                      &aom_idct4x4_16_add_msa, 0,
@@ -340,5 +340,5 @@
         make_tuple(&av1_fht4x4_msa, &av1_iht4x4_16_add_msa, 3, AOM_BITS_8,
                    16)));
 #endif  // !CONFIG_EXT_TX
-#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH
 }  // namespace
diff --git a/test/fdct8x8_test.cc b/test/fdct8x8_test.cc
index 2df3e05..5299e00 100644
--- a/test/fdct8x8_test.cc
+++ b/test/fdct8x8_test.cc
@@ -662,14 +662,14 @@
         make_tuple(&av1_fht8x8_c, &av1_iht8x8_64_add_c, 3, AOM_BITS_8)));
 #endif  // CONFIG_HIGHBITDEPTH
 
-#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(NEON, FwdTrans8x8DCT,
                         ::testing::Values(make_tuple(&aom_fdct8x8_neon,
                                                      &aom_idct8x8_64_add_neon,
                                                      0, AOM_BITS_8)));
-#endif  // HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     NEON, FwdTrans8x8HT,
     ::testing::Values(
@@ -677,9 +677,9 @@
         make_tuple(&av1_fht8x8_c, &av1_iht8x8_64_add_neon, 1, AOM_BITS_8),
         make_tuple(&av1_fht8x8_c, &av1_iht8x8_64_add_neon, 2, AOM_BITS_8),
         make_tuple(&av1_fht8x8_c, &av1_iht8x8_64_add_neon, 3, AOM_BITS_8)));
-#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(SSE2, FwdTrans8x8DCT,
                         ::testing::Values(make_tuple(&aom_fdct8x8_sse2,
                                                      &aom_idct8x8_64_add_sse2,
@@ -691,9 +691,9 @@
         make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 1, AOM_BITS_8),
         make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 2, AOM_BITS_8),
         make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 3, AOM_BITS_8)));
-#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, FwdTrans8x8DCT,
     ::testing::Values(make_tuple(&aom_fdct8x8_sse2, &aom_idct8x8_64_add_c, 0,
@@ -726,16 +726,16 @@
         make_tuple(&idct8x8_10_add_12_c, &idct8x8_10_add_12_sse2, 6225,
                    AOM_BITS_12),
         make_tuple(&idct8x8_12, &idct8x8_64_add_12_sse2, 6225, AOM_BITS_12)));
-#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_SSE2 && CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSSE3 && ARCH_X86_64 && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSSE3 && ARCH_X86_64
 INSTANTIATE_TEST_CASE_P(SSSE3, FwdTrans8x8DCT,
                         ::testing::Values(make_tuple(&aom_fdct8x8_ssse3,
                                                      &aom_idct8x8_64_add_ssse3,
                                                      0, AOM_BITS_8)));
 #endif
 
-#if HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_MSA && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(MSA, FwdTrans8x8DCT,
                         ::testing::Values(make_tuple(&aom_fdct8x8_msa,
                                                      &aom_idct8x8_64_add_msa, 0,
@@ -749,5 +749,5 @@
         make_tuple(&av1_fht8x8_msa, &av1_iht8x8_64_add_msa, 2, AOM_BITS_8),
         make_tuple(&av1_fht8x8_msa, &av1_iht8x8_64_add_msa, 3, AOM_BITS_8)));
 #endif  // !CONFIG_EXT_TX
-#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH
 }  // namespace
diff --git a/test/partial_idct_test.cc b/test/partial_idct_test.cc
index a509396..6c03487 100644
--- a/test/partial_idct_test.cc
+++ b/test/partial_idct_test.cc
@@ -190,7 +190,7 @@
                       make_tuple(&aom_fdct4x4_c, &aom_idct4x4_16_add_c,
                                  &aom_idct4x4_1_add_c, TX_4X4, 1)));
 
-#if HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_NEON && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     NEON, PartialIDctTest,
     ::testing::Values(make_tuple(&aom_fdct32x32_c, &aom_idct32x32_1024_add_c,
@@ -205,9 +205,9 @@
                                  &aom_idct8x8_1_add_neon, TX_8X8, 1),
                       make_tuple(&aom_fdct4x4_c, &aom_idct4x4_16_add_c,
                                  &aom_idct4x4_1_add_neon, TX_4X4, 1)));
-#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_NEON && !CONFIG_HIGHBITDEPTH
 
-#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSE2, PartialIDctTest,
     ::testing::Values(make_tuple(&aom_fdct32x32_c, &aom_idct32x32_1024_add_c,
@@ -226,15 +226,14 @@
                                  &aom_idct4x4_1_add_sse2, TX_4X4, 1)));
 #endif
 
-#if HAVE_SSSE3 && ARCH_X86_64 && !CONFIG_HIGHBITDEPTH && \
-    !CONFIG_EMULATE_HARDWARE
+#if HAVE_SSSE3 && ARCH_X86_64 && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     SSSE3_64, PartialIDctTest,
     ::testing::Values(make_tuple(&aom_fdct8x8_c, &aom_idct8x8_64_add_c,
                                  &aom_idct8x8_12_add_ssse3, TX_8X8, 12)));
 #endif
 
-#if HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#if HAVE_MSA && !CONFIG_HIGHBITDEPTH
 INSTANTIATE_TEST_CASE_P(
     MSA, PartialIDctTest,
     ::testing::Values(make_tuple(&aom_fdct32x32_c, &aom_idct32x32_1024_add_c,
@@ -251,6 +250,6 @@
                                  &aom_idct8x8_1_add_msa, TX_8X8, 1),
                       make_tuple(&aom_fdct4x4_c, &aom_idct4x4_16_add_c,
                                  &aom_idct4x4_1_add_msa, TX_4X4, 1)));
-#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
+#endif  // HAVE_MSA && !CONFIG_HIGHBITDEPTH
 
 }  // namespace