llvm/test
Oliver Stannard 19d010b851 [ARM] Do not select SMULW[BT] or SMLAW[BT]
The current instruction selection patterns for SMULW[BT] and SMLAW[BT]
are incorrect. These instructions multiply a 32-bit and a 16-bit value
(both signed) and return the top 32 bits of the 48-bit result. This
preserves the 16 bits of overflow, whereas the patterns they currently
match truncate the result to 16 bits then sign extend.

To select these instructions, we would need to match an ISD::SMUL_LOHI,
a sign extend, two shifts and an or. There is no way to match SMUL_LOHI
in an instruction pattern as it defines multiple values, so this would
have to be done in C++. I have raised
http://llvm.org/bugs/show_bug.cgi?id=21297 to cover allowing correct
selection of these instructions.

This fixes http://llvm.org/bugs/show_bug.cgi?id=19396



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220196 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-20 11:30:35 +00:00
..
Analysis [DSE] Remove no-data-layout-only type-based overlap checking 2014-10-17 11:56:00 +00:00
Assembler Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
Bindings Disable ccache for go tests. 2014-10-17 18:32:36 +00:00
Bitcode Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
BugPoint Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
CodeGen [ARM] Do not select SMULW[BT] or SMLAW[BT] 2014-10-20 11:30:35 +00:00
DebugInfo [dwarfdump] Prettyprint DW_AT_APPLE_property_attribute bitfield values. 2014-10-10 15:51:10 +00:00
ExecutionEngine [mips] Remove XFAIL from two XPASS'ing tests on the llvm-mips-linux builder 2014-10-03 08:49:44 +00:00
Feature Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
FileCheck
Instrumentation [msan] Fix handling of byval arguments with large alignment. 2014-10-17 23:29:44 +00:00
Integer
JitListener Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
Linker [dwarfdump] Print the name for referenced specification of abstract_origin DIEs. 2014-10-06 03:36:31 +00:00
LTO LTO: Add missing target triple from r218784 2014-10-01 18:49:58 +00:00
MC [mips] Add support for COP1's Branch-On-Cond-Likely instructions 2014-10-17 14:08:28 +00:00
Object Suppress llvm-ar's MRI tests for now on win32, since line_iterator is incompatible to CRLF. 2014-10-11 22:21:27 +00:00
Other
TableGen [AVX512] Added intrinsics for VPCMPEQB and VPCMPEQW. 2014-09-30 11:32:22 +00:00
tools [llvm-objdump] don't test timestamp dump as that is time zone dependent 2014-10-18 02:28:01 +00:00
Transforms Fix a miscompile introduced in r220178. 2014-10-20 10:03:01 +00:00
Unit
Verifier [Stackmaps] Enable invoking the patchpoint intrinsic. 2014-10-17 17:39:00 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
lit.site.cfg.in Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
Makefile Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
Makefile.tests
TestRunner.sh