llvm/test/MC/PowerPC
Bill Schmidt 8c775a4e7b [PowerPC] Implement the vpopcnt instructions for POWER8
Patch by Kit Barton.

Add the vector population count instructions for byte, halfword, word,
and doubleword sizes.  There are two major changes here:

    PPCISelLowering.cpp: Make CTPOP legal for vector types.
    PPCRegisterInfo.td: Added v2i64 to the VRRC register
      definition. This is needed for the doubleword variations of the
      integer ops that were added in P8. 

Test Plan

Test the instruction vpcnt* encoding/decoding in ppc64-encoding-vmx.s

Test the generation of the vpopcnt instructions for various vector
data types.  When adding the v2i64 type to the Vector Register set, I
also needed to add the appropriate bit conversion patterns between
v2i64 and the existing vector types.  Testing for these conversions
were also added in the test case by passing a different vector type as
a parameter into the test functions.  There is also a run step that
will ensure the vpopcnt instructions are generated when the vsx
feature is disabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228046 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-03 21:58:23 +00:00
..
deprecated-p7.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
lcomm.s Object: BSS/virtual sections don't have contents 2014-09-26 22:32:16 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
ppc32-ba.s Allow large immediates for branch instructions in 32bit mode. 2014-08-08 20:57:58 +00:00
ppc64-abiversion.s [PowerPC] ELFv2 MC support for .abiversion directive 2014-07-20 22:56:57 +00:00
ppc64-encoding-4xx.s Use the full form of dccci and iccci from the early PPC 405 documents, 2014-08-09 13:58:31 +00:00
ppc64-encoding-6xx.s Add PPC 603's tlbld and tlbli instructions. 2014-08-04 23:49:45 +00:00
ppc64-encoding-bookII.s [PowerPC] Add support for dcbtst and icbt (prefetch) 2014-08-23 23:21:04 +00:00
ppc64-encoding-bookIII.s Refactor TLBIVAX and add tlbsx. 2014-07-30 22:51:15 +00:00
ppc64-encoding-e500.s Add features for PPC 4xx and e500/e500mc instructions. 2014-08-04 15:47:38 +00:00
ppc64-encoding-ext.s [PowerPC] Add asm support for cache-inhibited ld/st instructions 2014-11-30 10:15:56 +00:00
ppc64-encoding-fp.s [PowerPC] Add assembler support for mcrfs and friends 2015-01-15 01:00:53 +00:00
ppc64-encoding-spe.s Add support for SPE load/store from memory. 2014-08-08 16:43:49 +00:00
ppc64-encoding-vmx.s [PowerPC] Implement the vpopcnt instructions for POWER8 2015-02-03 21:58:23 +00:00
ppc64-encoding.s [PowerPC] Add support for the CMPB instruction 2015-01-03 01:16:37 +00:00
ppc64-errors.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc64-fixup-apply.s @l and friends adjust their value depending the context used in. 2014-08-10 12:41:50 +00:00
ppc64-fixup-explicit.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc64-fixups.s @l and friends adjust their value depending the context used in. 2014-08-10 12:41:50 +00:00
ppc64-initial-cfa.s Emit DWARF3 call frame information when DWARF3+ debug info is requested 2014-06-19 15:39:33 +00:00
ppc64-localentry-error1.s [PowerPC] ELFv2 MC support for .localentry directive 2014-07-20 23:06:03 +00:00
ppc64-localentry-error2.s [PowerPC] ELFv2 MC support for .localentry directive 2014-07-20 23:06:03 +00:00
ppc64-localentry.s [PowerPC] Fix PR 21652 - copy st_other bits on symbol assignment 2014-11-24 18:09:47 +00:00
ppc64-operands.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc64-regs.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc64-relocs-01.s [PowerPC] Use assembler source in MC tests 2013-06-12 14:14:18 +00:00
ppc64-tls-relocs-01.s [PowerPC] Use assembler source in MC tests 2013-06-12 14:14:18 +00:00
ppc-llong.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc-machine.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc-nop.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
ppc-reloc.s Add parsing of 'foo@local". 2014-12-17 06:23:35 +00:00
ppc-word.s [PowerPC] Generate little-endian object files 2014-03-24 18:16:09 +00:00
tls-gd-obj.s Convert another llc -filetype=obj test. 2013-10-28 22:05:05 +00:00
tls-ie-obj.s Convert another llc -filetype=obj test. 2013-10-28 22:17:19 +00:00
tls-ld-obj.s Convert another llc -filetype=obj test. 2013-10-28 22:11:47 +00:00
vsx.s [PPC64] VSX indexed-form loads use wrong instruction format 2014-10-09 17:51:35 +00:00