Index: Makefile.standalone |
diff --git a/Makefile.standalone b/Makefile.standalone |
index eb9a3aa61b7272c9ad01f4a40886afa4d9cfac47..9e423c3de256800abd0a82bb39308c23cf3a234f 100644 |
--- a/Makefile.standalone |
+++ b/Makefile.standalone |
@@ -127,6 +127,19 @@ ifdef MSAN |
LD_EXTRA += -fsanitize=memory |
endif |
+ifdef FORCEASM |
+ FORCEASM_FLAG = --filetype=asm |
+ # With --filetype=asm and --sandbox, the llvm-mc assembler emits the lock and |
+ # 16-bit prefixes in the "wrong" order, causing the validator to reject the |
+ # resulting nexe. So we just disable those tests for now. |
+ FORCEASM_XTEST_EXCLUDES = -e x8632,sandbox,test_sync_atomic |
+ FORCEASM_LIT_PARAM = --param=FORCEASM |
+else |
+ FORCEASM_FLAG = |
+ FORCEASM_XTEST_EXCLUDES = |
+ FORCEASM_LIT_PARAM = |
+endif |
+ |
SB_OBJDIR := $(OBJDIR)+Sandboxed |
$(info -----------------------------------------------) |
@@ -392,7 +405,7 @@ runtime.is.built: $(RT_SRC) pydir/build-runtime.py |
check-lit: $(OBJDIR)/pnacl-sz make_symlink |
PNACL_BIN_PATH=$(PNACL_BIN_PATH) \ |
- $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit |
+ $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit $(FORCEASM_LIT_PARAM) |
ifdef MINIMAL |
check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime |
@@ -405,6 +418,8 @@ check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime |
# TODO(jpp): reenable the x86-64 tests. |
./pydir/crosstest_generator.py -v --lit \ |
--toolchain-root $(TOOLCHAIN_ROOT) \ |
+ $(FORCEASM_FLAG) \ |
+ $(FORCEASM_XTEST_EXCLUDES) \ |
-i x8632,native,sse2 \ |
-i x8632,native,sse4.1,test_vector_ops \ |
-i x8632,sandbox,sse4.1,Om1 \ |
@@ -470,7 +485,7 @@ check-presubmit presubmit: |
# Check the x86 assembler unit tests. |
+make -f Makefile.standalone \ |
DEBUG=1 CHECK_X86_ASM=1 check-unit |
-# Run spec2k for x86-32. |
+# Run lit tests, cross tests, unit tests, and spec2k/x86-32. |
+make -f Makefile.standalone \ |
check check-spec |
# Build spec2k under -Om1/x86-32, to check for liveness errors. |
@@ -479,6 +494,9 @@ check-presubmit presubmit: |
# Run spec2k for x86-32 without advanced phi lowering. |
+make -f Makefile.standalone \ |
SPECFLAGS='--sz=--phi-edge-split=0' check-spec |
+# Run cross tests and lit tests to validate filetype=asm output. |
+ +make -f Makefile.standalone \ |
+ FORCEASM=1 check-xtest check-lit |
# Build spec2k for arm32. |
+make -f Makefile.standalone \ |
TARGET=arm32 SPECBUILDONLY=true check-spec |