1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/test/CodeGen/PowerPC/inline-asm-scalar-to-vector-error.ll
Nemanja Ivanovic fe9adb9248 [Power9] Part-word VSX integer scalar loads/stores and sign extend instructions
This patch corresponds to review:
https://reviews.llvm.org/D23155

This patch removes the VSHRC register class (based on D20310) and adds
exploitation of the Power9 sub-word integer loads into VSX registers as well
as vector sign extensions.
The new instructions are useful for a few purposes:

    Int to Fp conversions of 1 or 2-byte values loaded from memory
    Building vectors of 1 or 2-byte integers with values loaded from memory
    Storing individual 1 or 2-byte elements from integer vectors

This patch implements all of those uses.

llvm-svn: 283190
2016-10-04 06:59:23 +00:00

12 lines
466 B
LLVM

; RUN: not llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8a -mattr=+altivec %s -o - 2>&1 | FileCheck %s
define hidden void @f(i32 %x) {
; CHECK: scalar-to-vector conversion failed, possible invalid constraint for vector type
tail call void asm sideeffect "nop", "{v1}"(i32 %x) nounwind
; CHECK: scalar-to-vector conversion failed, possible invalid constraint for vector type
tail call void asm sideeffect "nop", "{vsl1}"(i32 %x) nounwind
ret void
}