Remove unneeded intrinsics from Blackfin backend.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 2 Aug 2009 21:49:05 +0000 (21:49 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 2 Aug 2009 21:49:05 +0000 (21:49 +0000)
commit1391cc19d0d0dec015bfc0130e4238cacd19fbf2
tree2ebeae1d9be6583afb05eef5c78fccd803af40e8
parenta9a03f9c127c701da95339ebf3cecf9c7a027c0e
Remove unneeded intrinsics from Blackfin backend.

__builtin_bfin_ones does the same as ctpop, so it can be implemented in the front-end.

__builtin_bfin_loadbytes loads from an unaligned pointer with the disalignexcpt instruction. It does the same as loading from a pointer with the low bits masked. It is better if the front-end creates a masked load. We can always instruction select the masked to disalignexcpt+load.

We keep csync/ssync/idle. These intrinsics represent instructions that need workarounds for some silicon revisions. We may even want to convert inline assembler to intrinsics to enable the workarounds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77917 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IntrinsicsBlackfin.td
lib/Target/Blackfin/BlackfinInstrInfo.td
test/CodeGen/Blackfin/load-intr.ll [deleted file]