Add initial support for immediates. This allows us to compile this:
authorChris Lattner <sabre@nondot.org>
Sat, 4 Feb 2006 02:26:14 +0000 (02:26 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 4 Feb 2006 02:26:14 +0000 (02:26 +0000)
commitdc19b70d24e5fc0b80da36240550e31eb6ee4ee8
tree0d17d2f875c00341577951ee894274cf09521ecb
parent72f514cf39c6c1cc59a0ed78c7a1eccf182efefa
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
lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp