← All posts tagged sse

mikeb
sse avx чтобы сохранять и восстанавливать FP регистры с учетом ymm регистров старыми инструкциями fxsave/fxrstor операционка должна выполнить инструкцию "xsetbv" при загрузке чтобы переключить fxsave/fxrstor на сохранение бОльшего контекста. хм...
mikeb
sse avx aes-ni vaesenc инструкция оперируют на 3-х xmm регистрах, а не на двух ymm, как могло показаться. по-видимому она использует третий регистр как целевой и не портит содержимое источников.
mikeb
FreeBSD sse avx regress а ни кто не подскажет, есть ли где простенький regress тест на сохранение avx регистров (ymm) при fpu lazy context switching'е? у фрибсд может где-то есть подобное?
mikeb
OpenBSD crypto sse gcm закоммитил sse реализацию gcm (с carry-less multiplication), написаную год назад. тхео таки замучали и он прочитал интеловский copyright и сказал что хый с ним, что часть кода из white paper :)
mikeb
code sse
чтобы поменять endianness в xmm регистре надо:
1) заиметь правильную маску перестановки байтов для PSHUFB:
 	.data
.align 16
.Lbswap_mask:
	.byte 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
2) загрузить её в доступный xmm регистр и выполнить PSHUFB:
	movdqu .Lbswap_mask, %xmm6
	pshufb %xmm6, %xmm0