Go to file
Silviu Baranga 33b3bd17dd [AArch64] Multiply extended 32-bit ints with `[U|S]MADDL'
During instruction selection, the AArch64 backend can recognise the
following pattern and generate an [U|S]MADDL instruction, i.e. a
multiply of two 32-bit operands with a 64-bit result:

(mul (sext i32), (sext i32))
However, when one of the operands is constant, the sign extension
gets folded into the constant in SelectionDAG::getNode(). This means
that the instruction selection sees this:

(mul (sext i32), i64)
...which doesn't match the pattern. Sign-extension and 64-bit
multiply instructions are generated, which are slower than one 32-bit
multiply.

Add a pattern to match this and generate the correct instruction, for
both signed and unsigned multiplies.

Patch by Chris Diamand!

llvm-svn: 259800
2016-02-04 16:47:09 +00:00
clang [x86] Correct setting of WIntType for MCU target 2016-02-04 11:54:45 +00:00
clang-tools-extra [clang-tidy] More friendly warning in "google-runtime-references" when meeting an unnamed function parameter. 2016-02-04 14:06:49 +00:00
compiler-rt [TSan] Fix PrintMatchedSuppressions: Read hit count for suppression atomically 2016-02-04 05:28:48 +00:00
debuginfo-tests
libclc Implement modf math builtin 2016-01-27 14:52:10 +00:00
libcxx re.results.form: Format out-of-range subexpression references as null 2016-02-03 19:30:20 +00:00
libcxxabi [libcxxabi] Teach cxa_demangle about Hexagon's long double size 2016-01-20 14:10:23 +00:00
libunwind Replace cmake check for printf with a check for fopen. 2015-12-10 00:47:08 +00:00
lld [ELF][MIPS] Support R_MIPS_PC32 relocation handling 2016-02-04 12:31:39 +00:00
lldb Provide arguments for all the format string placeholders! 2016-02-04 15:35:55 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm [AArch64] Multiply extended 32-bit ints with `[U|S]MADDL' 2016-02-04 16:47:09 +00:00
openmp Fix task dependency performance problem 2016-01-28 23:10:44 +00:00
polly Support accesses with differently sized types to the same array 2016-02-04 13:18:42 +00:00