mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-21 03:32:29 +00:00
Add support in SplitVectorOp for remainder operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44233 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f1c922181b
commit
089617d9e3
@ -6341,7 +6341,10 @@ void SelectionDAGLegalize::SplitVectorOp(SDOperand Op, SDOperand &Lo,
|
||||
case ISD::FPOW:
|
||||
case ISD::AND:
|
||||
case ISD::OR:
|
||||
case ISD::XOR: {
|
||||
case ISD::XOR:
|
||||
case ISD::UREM:
|
||||
case ISD::SREM:
|
||||
case ISD::FREM: {
|
||||
SDOperand LL, LH, RL, RH;
|
||||
SplitVectorOp(Node->getOperand(0), LL, LH);
|
||||
SplitVectorOp(Node->getOperand(1), RL, RH);
|
||||
|
15
test/CodeGen/X86/split-vector-rem.ll
Normal file
15
test/CodeGen/X86/split-vector-rem.ll
Normal file
@ -0,0 +1,15 @@
|
||||
; RUN: llvm-as < %s | llc -march=x86-64 | grep div | count 16
|
||||
; RUN: llvm-as < %s | llc -march=x86-64 | grep fmodf | count 8
|
||||
|
||||
define <8 x i32> @foo(<8 x i32> %t, <8 x i32> %u) {
|
||||
%m = srem <8 x i32> %t, %u
|
||||
ret <8 x i32> %m
|
||||
}
|
||||
define <8 x i32> @bar(<8 x i32> %t, <8 x i32> %u) {
|
||||
%m = urem <8 x i32> %t, %u
|
||||
ret <8 x i32> %m
|
||||
}
|
||||
define <8 x float> @qux(<8 x float> %t, <8 x float> %u) {
|
||||
%m = frem <8 x float> %t, %u
|
||||
ret <8 x float> %m
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user