/external/llvm-project/llvm/test/CodeGen/PowerPC/ |
D | fma-negate.ll | 3 ; RUN: | FileCheck -check-prefix=VSX %s 5 ; RUN: | FileCheck -check-prefix=NO-VSX %s 8 ; VSX-LABEL: test_mul_sub_f64: 9 ; VSX: # %bb.0: # %entry 10 ; VSX-NEXT: xsnegdp 0, 2 11 ; VSX-NEXT: xsmaddadp 1, 0, 3 12 ; VSX-NEXT: blr 14 ; NO-VSX-LABEL: test_mul_sub_f64: 15 ; NO-VSX: # %bb.0: # %entry 16 ; NO-VSX-NEXT: fneg 0, 2 [all …]
|
D | pr45628.ll | 4 ; RUN: -check-prefix=P9-VSX 10 ; RUN: -check-prefix=P8-VSX 16 ; P9-VSX-LABEL: rotl_64: 17 ; P9-VSX: # %bb.0: # %entry 18 ; P9-VSX-NEXT: xxswapd v2, v2 19 ; P9-VSX-NEXT: blr 26 ; P8-VSX-LABEL: rotl_64: 27 ; P8-VSX: # %bb.0: # %entry 28 ; P8-VSX-NEXT: xxswapd v2, v2 29 ; P8-VSX-NEXT: blr [all …]
|
D | fma-assoc.ll | 6 ; RUN: -mcpu=pwr7 | FileCheck -check-prefix=CHECK-VSX %s 16 ; CHECK-VSX-LABEL: test_FMADD_ASSOC1: 17 ; CHECK-VSX: # %bb.0: 18 ; CHECK-VSX-NEXT: xsmuldp 0, 3, 4 19 ; CHECK-VSX-NEXT: xsmaddadp 0, 1, 2 20 ; CHECK-VSX-NEXT: xsadddp 1, 0, 5 21 ; CHECK-VSX-NEXT: blr 38 ; CHECK-VSX-LABEL: test_FMADD_ASSOC2: 39 ; CHECK-VSX: # %bb.0: 40 ; CHECK-VSX-NEXT: xsmuldp 0, 3, 4 [all …]
|
D | float-to-int.ll | 4 ; RUN: -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 22 ; CHECK-VSX: @foo 23 ; CHECK-VSX: xscvdpsxds [[REG:[0-9]+]], 1 24 ; CHECK-VSX: stfd [[REG]], 25 ; CHECK-VSX: ld 3, 26 ; CHECK-VSX: blr 45 ; CHECK-VSX: @foo2 46 ; CHECK-VSX: xscvdpsxds [[REG:[0-9]+]], 1 47 ; CHECK-VSX: stfd [[REG]], 48 ; CHECK-VSX: ld 3, [all …]
|
D | unaligned.ll | 3 … -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 16 ; CHECK-VSX: @foo1 17 ; CHECK-VSX: lhz 18 ; CHECK-VSX: sth 31 ; CHECK-VSX: @foo2 32 ; CHECK-VSX: lwz 33 ; CHECK-VSX: stw 46 ; CHECK-VSX: @foo3 47 ; CHECK-VSX: ld 48 ; CHECK-VSX: std [all …]
|
D | fsel.ll | 3 …nable-no-infs-fp-math -enable-no-nans-fp-math -mattr=+vsx | FileCheck -check-prefix=CHECK-FM-VSX %s 21 ; CHECK-FM-VSX: @zerocmp1 22 ; CHECK-FM-VSX: fsel 1, 1, 2, 3 23 ; CHECK-FM-VSX: blr 41 ; CHECK-FM-VSX: @zerocmp2 42 ; CHECK-FM-VSX: xsnegdp [[REG:[0-9]+]], 1 43 ; CHECK-FM-VSX: fsel 1, [[REG]], 3, 2 44 ; CHECK-FM-VSX: blr 63 ; CHECK-FM-VSX: @zerocmp3 64 ; CHECK-FM-VSX: xsnegdp [[REG2:[0-9]+]], 1 [all …]
|
D | i64-to-float.ll | 4 ; RUN: -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 21 ; CHECK-VSX: @foo 22 ; CHECK-VSX: std 3, 23 ; CHECK-VSX: lfd [[REG:[0-9]+]], 24 ; CHECK-VSX: fcfids 1, [[REG]] 25 ; CHECK-VSX: blr 45 ; CHECK-VSX: @goo 46 ; CHECK-VSX: std 3, 47 ; CHECK-VSX: lfd [[REG:[0-9]+]], 48 ; CHECK-VSX: xscvsxddp 1, [[REG]] [all …]
|
D | vec_add_sub_doubleword.ll | 2 …instrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck %s --check-prefixes=ALL,VSX 17 ; VSX-LABEL: increment_by_one: 18 ; VSX: # %bb.0: 19 ; VSX-NEXT: addis 3, 2, .LCPI1_0@toc@ha 20 ; VSX-NEXT: addi 3, 3, .LCPI1_0@toc@l 21 ; VSX-NEXT: lxvd2x 35, 0, 3 22 ; VSX-NEXT: vaddudm 2, 2, 3 23 ; VSX-NEXT: blr 37 ; VSX-LABEL: increment_by_val: 38 ; VSX: # %bb.0: [all …]
|
D | vec_select.ll | 2 …mes < %s -mtriple=powerpc64-linux-gnu -mcpu=pwr8 -mattr=+vsx | FileCheck %s -check-prefix=CHECK-VSX 4 …s < %s -mtriple=powerpc64le-linux-gnu -mcpu=pwr8 -mattr=+vsx | FileCheck %s -check-prefix=CHECK-VSX 8 ; CHECK-VSX-LABEL: test1: 9 ; CHECK-VSX: # %bb.0: # %entry 10 ; CHECK-VSX-NEXT: xvcmpeqsp vs0, v4, v5 11 ; CHECK-VSX-NEXT: xxsel v2, v3, v2, vs0 12 ; CHECK-VSX-NEXT: blr 26 ; CHECK-VSX-LABEL: test2: 27 ; CHECK-VSX: # %bb.0: # %entry 28 ; CHECK-VSX-NEXT: xvcmpeqdp v4, v4, v5 [all …]
|
D | vec_mul.ll | 4 …c64-unknown-linux-gnu -mattr=+altivec -mattr=+vsx -mcpu=pwr7 | FileCheck %s -check-prefix=CHECK-VSX 5 …tr=+altivec -mattr=+vsx -mcpu=pwr8 -mattr=-power8-altivec | FileCheck %s -check-prefix=CHECK-LE-VSX 19 ; CHECK-VSX-LABEL: test_v4i32: 20 ; CHECK-VSX: vmsumuhm 21 ; CHECK-VSX-NOT: mullw 22 ; CHECK-LE-VSX-LABEL: test_v4i32: 23 ; CHECK-LE-VSX: vmsumuhm 24 ; CHECK-LE-VSX-NOT: mullw 38 ; CHECK-VSX-LABEL: test_v8i16: 39 ; CHECK-VSX: vmladduhm [all …]
|
D | i32-to-float.ll | 4 … -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 34 ; CHECK-VSX: @foo 35 ; CHECK-VSX: stw 3, 36 ; CHECK-VSX: lfiwax [[REG:[0-9]+]], 37 ; CHECK-VSX: fcfids 1, [[REG]] 38 ; CHECK-VSX: blr 65 ; CHECK-VSX: @goo 66 ; CHECK-VSX: stw 3, 67 ; CHECK-VSX: lfiwax [[REG:[0-9]+]], 68 ; CHECK-VSX: xscvsxddp 1, [[REG]] [all …]
|
D | fma-ext.ll | 2 …t -mattr=+vsx -mcpu=pwr7 -disable-ppc-vsx-fma-mutation=false | FileCheck -check-prefix=CHECK-VSX %s 13 ; CHECK-VSX-LABEL: test_FMADD_EXT1: 14 ; CHECK-VSX: xsmaddmdp 15 ; CHECK-VSX-NEXT: blr 27 ; CHECK-VSX-LABEL: test_FMADD_EXT2: 28 ; CHECK-VSX: xsmaddmdp 29 ; CHECK-VSX-NEXT: blr 41 ; CHECK-VSX-LABEL: test_FMSUB_EXT1: 42 ; CHECK-VSX: xsmsubmdp 43 ; CHECK-VSX-NEXT: blr [all …]
|
D | copysignl.ll | 2 …u=pwr7 -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx < %s | FileCheck %s -check-prefix=CHECK-VSX 15 ; CHECK-VSX-LABEL: @foo_d_ll 16 ; CHECK-VSX: xscpsgndp 1, 3, 1 17 ; CHECK-VSX: blr 31 ; CHECK-VSX-LABEL: @foo_dl 32 ; CHECK-VSX: xscpsgndp 1, 2, 1 33 ; CHECK-VSX: blr 47 ; CHECK-VSX-LABEL: @foo_ll 48 ; CHECK-VSX: bl copysignl 49 ; CHECK-VSX: blr [all …]
|
D | rounding-ops.ll | 2 …iple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx < %s | FileCheck -check-prefix=CHECK-VSX %s 12 ; CHECK-VSX-LABEL: test1: 13 ; CHECK-VSX: xsrdpim 1, 1 24 ; CHECK-VSX-LABEL: test2: 25 ; CHECK-VSX: xsrdpim 1, 1 36 ; CHECK-VSX-LABEL: test3: 37 ; CHECK-VSX: xsrdpi 1, 1 48 ; CHECK-VSX-LABEL: test4: 49 ; CHECK-VSX: xsrdpi 1, 1 60 ; CHECK-VSX-LABEL: test5: [all …]
|
/external/llvm/test/CodeGen/PowerPC/ |
D | float-to-int.ll | 2 … -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 17 ; CHECK-VSX: @foo 18 ; CHECK-VSX: xscvdpsxds [[REG:[0-9]+]], 1 19 ; CHECK-VSX: stxsdx [[REG]], 20 ; CHECK-VSX: ld 3, 21 ; CHECK-VSX: blr 34 ; CHECK-VSX: @foo2 35 ; CHECK-VSX: xscvdpsxds [[REG:[0-9]+]], 1 36 ; CHECK-VSX: stxsdx [[REG]], 37 ; CHECK-VSX: ld 3, [all …]
|
D | fma-assoc.ll | 2 …t -mattr=+vsx -mcpu=pwr7 -disable-ppc-vsx-fma-mutation=false | FileCheck -check-prefix=CHECK-VSX %s 16 ; CHECK-VSX-LABEL: test_FMADD_ASSOC1: 17 ; CHECK-VSX: xsmaddmdp 18 ; CHECK-VSX-NEXT: xsmaddadp 19 ; CHECK-VSX-NEXT: fmr 20 ; CHECK-VSX-NEXT: blr 35 ; CHECK-VSX-LABEL: test_FMADD_ASSOC2: 36 ; CHECK-VSX: xsmaddmdp 37 ; CHECK-VSX-NEXT: xsmaddadp 38 ; CHECK-VSX-NEXT: fmr [all …]
|
D | i64-to-float.ll | 2 … -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 17 ; CHECK-VSX: @foo 18 ; CHECK-VSX: std 3, 19 ; CHECK-VSX: lxsdx [[REG:[0-9]+]], 20 ; CHECK-VSX: fcfids 1, [[REG]] 21 ; CHECK-VSX: blr 35 ; CHECK-VSX: @goo 36 ; CHECK-VSX: std 3, 37 ; CHECK-VSX: lxsdx [[REG:[0-9]+]], 38 ; CHECK-VSX: xscvsxddp 1, [[REG]] [all …]
|
D | fsel.ll | 3 …nable-no-infs-fp-math -enable-no-nans-fp-math -mattr=+vsx | FileCheck -check-prefix=CHECK-FM-VSX %s 21 ; CHECK-FM-VSX: @zerocmp1 22 ; CHECK-FM-VSX: fsel 1, 1, 2, 3 23 ; CHECK-FM-VSX: blr 41 ; CHECK-FM-VSX: @zerocmp2 42 ; CHECK-FM-VSX: xsnegdp [[REG:[0-9]+]], 1 43 ; CHECK-FM-VSX: fsel 1, [[REG]], 3, 2 44 ; CHECK-FM-VSX: blr 63 ; CHECK-FM-VSX: @zerocmp3 64 ; CHECK-FM-VSX: xsnegdp [[REG2:[0-9]+]], 1 [all …]
|
D | unaligned.ll | 3 … -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 16 ; CHECK-VSX: @foo1 17 ; CHECK-VSX: lhz 18 ; CHECK-VSX: sth 31 ; CHECK-VSX: @foo2 32 ; CHECK-VSX: lwz 33 ; CHECK-VSX: stw 46 ; CHECK-VSX: @foo3 47 ; CHECK-VSX: ld 48 ; CHECK-VSX: std [all …]
|
D | vec_mul.ll | 4 …inux-gnu -march=ppc64 -mattr=+altivec -mattr=+vsx -mcpu=pwr7 | FileCheck %s -check-prefix=CHECK-VSX 5 …tr=+altivec -mattr=+vsx -mcpu=pwr8 -mattr=-power8-altivec | FileCheck %s -check-prefix=CHECK-LE-VSX 19 ; CHECK-VSX-LABEL: test_v4i32: 20 ; CHECK-VSX: vmsumuhm 21 ; CHECK-VSX-NOT: mullw 22 ; CHECK-LE-VSX-LABEL: test_v4i32: 23 ; CHECK-LE-VSX: vmsumuhm 24 ; CHECK-LE-VSX-NOT: mullw 38 ; CHECK-VSX-LABEL: test_v8i16: 39 ; CHECK-VSX: vmladduhm [all …]
|
D | i32-to-float.ll | 4 … -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx | FileCheck -check-prefix=CHECK-VSX %s 34 ; CHECK-VSX: @foo 35 ; CHECK-VSX: stw 3, 36 ; CHECK-VSX: lfiwax [[REG:[0-9]+]], 37 ; CHECK-VSX: fcfids 1, [[REG]] 38 ; CHECK-VSX: blr 65 ; CHECK-VSX: @goo 66 ; CHECK-VSX: stw 3, 67 ; CHECK-VSX: lfiwax [[REG:[0-9]+]], 68 ; CHECK-VSX: xscvsxddp 1, [[REG]] [all …]
|
D | fma-ext.ll | 2 …t -mattr=+vsx -mcpu=pwr7 -disable-ppc-vsx-fma-mutation=false | FileCheck -check-prefix=CHECK-VSX %s 13 ; CHECK-VSX-LABEL: test_FMADD_EXT1: 14 ; CHECK-VSX: xsmaddmdp 15 ; CHECK-VSX-NEXT: blr 27 ; CHECK-VSX-LABEL: test_FMADD_EXT2: 28 ; CHECK-VSX: xsmaddmdp 29 ; CHECK-VSX-NEXT: blr 41 ; CHECK-VSX-LABEL: test_FMSUB_EXT1: 42 ; CHECK-VSX: xsmsubmdp 43 ; CHECK-VSX-NEXT: blr [all …]
|
D | copysignl.ll | 2 …u=pwr7 -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx < %s | FileCheck %s -check-prefix=CHECK-VSX 15 ; CHECK-VSX-LABEL: @foo_d_ll 16 ; CHECK-VSX: xscpsgndp 1, 3, 1 17 ; CHECK-VSX: blr 31 ; CHECK-VSX-LABEL: @foo_dl 32 ; CHECK-VSX: xscpsgndp 1, 2, 1 33 ; CHECK-VSX: blr 47 ; CHECK-VSX-LABEL: @foo_ll 48 ; CHECK-VSX: bl copysignl 49 ; CHECK-VSX: blr [all …]
|
D | rounding-ops.ll | 2 …iple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx < %s | FileCheck -check-prefix=CHECK-VSX %s 12 ; CHECK-VSX-LABEL: test1: 13 ; CHECK-VSX: frim 1, 1 24 ; CHECK-VSX-LABEL: test2: 25 ; CHECK-VSX: xsrdpim 1, 1 36 ; CHECK-VSX-LABEL: test3: 37 ; CHECK-VSX: frin 1, 1 48 ; CHECK-VSX-LABEL: test4: 49 ; CHECK-VSX: xsrdpi 1, 1 60 ; CHECK-VSX-LABEL: test5: [all …]
|
/external/llvm/lib/Target/PowerPC/ |
D | p9-instrs.txt | 4 . Done (Total 155 Instructions: 101 VSX, 54 Altivec) 201 "7.6.1.2.1 VSX Scalar Move Instructions" 202 // VSX Scalar Quad-Precision Move Instructions 204 // VSX Scalar Copy Sign Quad-Precision X-form p.553 207 // VSX Scalar Absolute Quad-Precision X-form 531 208 // VSX Scalar Negate Quad-Precision X-form 627 209 // VSX Scalar Negative Absolute Quad-Precision X-form 626 213 "7.6.1.3 VSX Floating-Point Arithmetic Instructions" 215 // VSX Scalar Quad-Precision Elementary Arithmetic 217 // VSX Scalar Add Quad-Precision [using round to Odd] X-form 539 [all …]
|