diff options
author | Chris Lattner <sabre@nondot.org> | 2006-02-04 02:26:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-02-04 02:26:14 +0000 |
commit | dc19b70d24e5fc0b80da36240550e31eb6ee4ee8 (patch) | |
tree | 0d17d2f875c00341577951ee894274cf09521ecb /lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
parent | 72f514cf39c6c1cc59a0ed78c7a1eccf182efefa (diff) |
Add initial support for immediates. This allows us to compile this:
int %rlwnm(int %A, int %B) {
%C = call int asm "rlwnm $0, $1, $2, $3, $4", "=r,r,r,n,n"(int %A, int %B, int 4, int 17)
ret int %C
}
into:
_rlwnm:
or r2, r3, r3
or r3, r4, r4
rlwnm r2, r2, r3, 4, 17 ;; note the immediates :)
or r3, r2, r2
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 47fb6c357d..e4691b3d9c 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -1366,7 +1366,7 @@ void SelectionDAGLowering::visitInlineAsm(CallInst &I) { // Add information to the INLINEASM node to know about this input. AsmNodeOperands.push_back(ResOp); - AsmNodeOperands.push_back(DAG.getConstant(1, MVT::i32)); // ISUSE + AsmNodeOperands.push_back(DAG.getConstant(ResOpType, MVT::i32)); break; } case InlineAsm::isClobber: |