2016-12-13 06:09:02 +08:00
|
|
|
; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 -mattr=+vsx < %s | FileCheck %s --implicit-check-not lxsiwzx
|
|
|
|
|
|
|
|
declare void @bar(double)
|
|
|
|
|
|
|
|
define void @foo1(i8* %p) {
|
|
|
|
entry:
|
|
|
|
%0 = load i8, i8* %p, align 1
|
|
|
|
%conv = uitofp i8 %0 to double
|
|
|
|
call void @bar(double %conv)
|
|
|
|
ret void
|
|
|
|
|
|
|
|
; CHECK-LABEL: @foo1
|
[PowerPC] Support extended mnemonics mffprwz etc.
Summary:
Reported in https://github.com/opencv/opencv/issues/15413.
We have serveral extended mnemonics for Move To/From Vector-Scalar Register Instructions
eg: mffprd,mtfprd etc.
We only support one of them, this patch add the others.
Reviewers: nemanjai, steven.zhang, hfinkel, #powerpc
Reviewed By: hfinkel
Subscribers: wuzish, qcolombet, hiraditya, kbarton, MaskRay, shchenz, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66963
llvm-svn: 370411
2019-08-30 05:53:59 +08:00
|
|
|
; CHECK: mtfprwz
|
2016-12-13 06:09:02 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
define void @foo2(i16* %p) {
|
|
|
|
entry:
|
|
|
|
%0 = load i16, i16* %p, align 2
|
|
|
|
%conv = uitofp i16 %0 to double
|
|
|
|
call void @bar(double %conv)
|
|
|
|
ret void
|
|
|
|
|
|
|
|
; CHECK-LABEL: @foo2
|
[PowerPC] Support extended mnemonics mffprwz etc.
Summary:
Reported in https://github.com/opencv/opencv/issues/15413.
We have serveral extended mnemonics for Move To/From Vector-Scalar Register Instructions
eg: mffprd,mtfprd etc.
We only support one of them, this patch add the others.
Reviewers: nemanjai, steven.zhang, hfinkel, #powerpc
Reviewed By: hfinkel
Subscribers: wuzish, qcolombet, hiraditya, kbarton, MaskRay, shchenz, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66963
llvm-svn: 370411
2019-08-30 05:53:59 +08:00
|
|
|
; CHECK: mtfprwz
|
2016-12-13 06:09:02 +08:00
|
|
|
}
|
|
|
|
|