Doesn't seem to be a whole lot of info on PCI Passthrough on a Mac Pro, and maybe some false or misleading info about VT-d.
Anyway, the Mac Pro 3,1 has the 5400 chipset and Intel lists it as supporting VT-d, however there are no CPU's supported by the MP3,1 that list support for VT-d, but this doesn't matter, because VT-d is a feature of the chipset, not the CPU.
Further Apple enabled MMUIO( VT-d / Intel Virtualization Technology for Directed I/O / AKA PCI Passthrough ) in the Mac Pro3,1 EFI and CSM.
So what does this mean, it means you can install Linux and Qemu and use PCI Passthrough to pass physical PCI devices from your host to your guest. I also assume this will work of the MP4,1 and 5,1, maybe even the MP6,1, tho it would be of a little less use on a system without PCI-E slots, per say. Yet the 6,1 could maybe pass one of it's mostly usleess GPU's to a virtual machine.
Also @dosdude1 my findings are the same as yours, that the AMD Drivers in Sierra and HS use SSE4.2, and I was under some confusion as to why it worked on my virtual machine with a RX580 and qemu -cpu Penryn, but it seems to be enabling the feature in my launch options.
One of these must pass SSE4.2 from the host to the guest, if the host CPU supports it. Here is what I get with these options on my Xeon X5482:
And as we would expect, using PCI Passthrough to pass a RX580 to a HS virtual machine is the same result as trying to boot HS on the RX580 natively on the MP3,1. No GUI, because we have no SSE4.2.
Anyway, the Mac Pro 3,1 has the 5400 chipset and Intel lists it as supporting VT-d, however there are no CPU's supported by the MP3,1 that list support for VT-d, but this doesn't matter, because VT-d is a feature of the chipset, not the CPU.
Further Apple enabled MMUIO( VT-d / Intel Virtualization Technology for Directed I/O / AKA PCI Passthrough ) in the Mac Pro3,1 EFI and CSM.
So what does this mean, it means you can install Linux and Qemu and use PCI Passthrough to pass physical PCI devices from your host to your guest. I also assume this will work of the MP4,1 and 5,1, maybe even the MP6,1, tho it would be of a little less use on a system without PCI-E slots, per say. Yet the 6,1 could maybe pass one of it's mostly usleess GPU's to a virtual machine.
Also @dosdude1 my findings are the same as yours, that the AMD Drivers in Sierra and HS use SSE4.2, and I was under some confusion as to why it worked on my virtual machine with a RX580 and qemu -cpu Penryn, but it seems to be enabling the feature in my launch options.
Code:
MY_OPTIONS="+aes,+xsave,+avx,+xsaveopt,avx2,+smep"
One of these must pass SSE4.2 from the host to the guest, if the host CPU supports it. Here is what I get with these options on my Xeon X5482:
Code:
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.aes [bit 25]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 2]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.aes [bit 25]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 2]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.aes [bit 25]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 2]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.aes [bit 25]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.xsave [bit 26]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 0]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 1]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX [bit 2]
And as we would expect, using PCI Passthrough to pass a RX580 to a HS virtual machine is the same result as trying to boot HS on the RX580 natively on the MP3,1. No GUI, because we have no SSE4.2.