[NVPTX] Handle signext/zeroext attributes properly

Fix a case where we were incorrectly sign-extending a value when we should have been zero-extending the value.

Also change some SIGN_EXTEND to ANY_EXTEND because we really dont care and may have more opportunity to fold subexpressions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185331 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Justin Holewinski
2013-07-01 12:58:58 +00:00
parent 8834184a46
commit 03e5bb2c87
2 changed files with 41 additions and 19 deletions

View File

@@ -0,0 +1,16 @@
; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"
define i8 @foo(i8 signext %a) {
; CHECK: ld.param.s8
%ret = add i8 %a, 3
ret i8 %ret
}
define i8 @bar(i8 zeroext %a) {
; CHECK: ld.param.u8
%ret = add i8 %a, 3
ret i8 %ret
}