⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 altivec.md

📁 linux下编程用 编译软件
💻 MD
📖 第 1 页 / 共 5 页
字号:
					   	      (const_int 5)					   	      (const_int 14)					   	      (const_int 6)					   	      (const_int 15)						      (const_int 7)]))		      (const_int 21845)))]  "TARGET_ALTIVEC"  "vmrghb %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vmrghh"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (vec_merge:V8HI (vec_select:V8HI (match_operand:V8HI 1 "register_operand" "v")					   (parallel [(const_int 0)					   	      (const_int 4)					   	      (const_int 1)					   	      (const_int 5)					   	      (const_int 2)					   	      (const_int 6)					   	      (const_int 3)					   	      (const_int 7)]))                        (vec_select:V8HI (match_operand:V8HI 2 "register_operand" "v")					   (parallel [(const_int 4)					   	      (const_int 0)					   	      (const_int 5)					   	      (const_int 1)					   	      (const_int 6)					   	      (const_int 2)					   	      (const_int 7)					   	      (const_int 3)]))		      (const_int 85)))]  "TARGET_ALTIVEC"  "vmrghh %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vmrghw"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (vec_merge:V4SI (vec_select:V4SI (match_operand:V4SI 1 "register_operand" "v")					 (parallel [(const_int 0)					 	    (const_int 2)						    (const_int 1)						    (const_int 3)]))                        (vec_select:V4SI (match_operand:V4SI 2 "register_operand" "v")					 (parallel [(const_int 2)					 	    (const_int 0)						    (const_int 3)						    (const_int 1)]))		      (const_int 5)))]  "TARGET_ALTIVEC"  "vmrghw %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vmrglb"  [(set (match_operand:V16QI 0 "register_operand" "=v")        (vec_merge:V16QI (vec_select:V16QI (match_operand:V16QI 1 "register_operand" "v")					   (parallel [(const_int 8)					   	      (const_int 0)					   	      (const_int 9)					   	      (const_int 1)					   	      (const_int 10)					   	      (const_int 2)						      (const_int 11)						      (const_int 3)					   	      (const_int 12)					   	      (const_int 4)					   	      (const_int 13)					   	      (const_int 5)					   	      (const_int 14)					   	      (const_int 6)					   	      (const_int 15)						      (const_int 7)]))                      (vec_select:V16QI (match_operand:V16QI 2 "register_operand" "v")					   (parallel [(const_int 0)					   	      (const_int 8)					   	      (const_int 1)					   	      (const_int 9)					   	      (const_int 2)					   	      (const_int 10)						      (const_int 3)						      (const_int 11)					   	      (const_int 4)					   	      (const_int 12)					   	      (const_int 5)					   	      (const_int 13)					   	      (const_int 6)					   	      (const_int 14)					   	      (const_int 7)						      (const_int 15)]))		      (const_int 21845)))]  "TARGET_ALTIVEC"  "vmrglb %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vmrglh"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (vec_merge:V8HI (vec_select:V8HI (match_operand:V8HI 1 "register_operand" "v")					   (parallel [(const_int 4)					   	      (const_int 0)					   	      (const_int 5)					   	      (const_int 1)					   	      (const_int 6)					   	      (const_int 2)					   	      (const_int 7)					   	      (const_int 3)]))                        (vec_select:V8HI (match_operand:V8HI 2 "register_operand" "v")					   (parallel [(const_int 0)					   	      (const_int 4)					   	      (const_int 1)					   	      (const_int 5)					   	      (const_int 2)					   	      (const_int 6)					   	      (const_int 3)					   	      (const_int 7)]))		      (const_int 85)))]  "TARGET_ALTIVEC"  "vmrglh %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vmrglw"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (vec_merge:V4SI (vec_select:V4SI (match_operand:V4SI 1 "register_operand" "v")					 (parallel [(const_int 2)					 	    (const_int 0)						    (const_int 3)						    (const_int 1)]))                        (vec_select:V4SI (match_operand:V4SI 2 "register_operand" "v")					 (parallel [(const_int 0)					 	    (const_int 2)						    (const_int 1)						    (const_int 3)]))		      (const_int 5)))]  "TARGET_ALTIVEC"  "vmrglw %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vmuleub"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")                      (match_operand:V16QI 2 "register_operand" "v")]		     UNSPEC_VMULEUB))]  "TARGET_ALTIVEC"  "vmuleub %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmulesb"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")                      (match_operand:V16QI 2 "register_operand" "v")]		     UNSPEC_VMULESB))]  "TARGET_ALTIVEC"  "vmulesb %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmuleuh"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")                      (match_operand:V8HI 2 "register_operand" "v")]		     UNSPEC_VMULEUH))]  "TARGET_ALTIVEC"  "vmuleuh %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmulesh"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")                      (match_operand:V8HI 2 "register_operand" "v")]		     UNSPEC_VMULESH))]  "TARGET_ALTIVEC"  "vmulesh %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmuloub"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")                      (match_operand:V16QI 2 "register_operand" "v")]		     UNSPEC_VMULOUB))]  "TARGET_ALTIVEC"  "vmuloub %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmulosb"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V16QI 1 "register_operand" "v")                      (match_operand:V16QI 2 "register_operand" "v")]		     UNSPEC_VMULOSB))]  "TARGET_ALTIVEC"  "vmulosb %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmulouh"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")                      (match_operand:V8HI 2 "register_operand" "v")]		     UNSPEC_VMULOUH))]  "TARGET_ALTIVEC"  "vmulouh %0,%1,%2"  [(set_attr "type" "veccomplex")])(define_insn "altivec_vmulosh"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (unspec:V4SI [(match_operand:V8HI 1 "register_operand" "v")                      (match_operand:V8HI 2 "register_operand" "v")]		     UNSPEC_VMULOSH))]  "TARGET_ALTIVEC"  "vmulosh %0,%1,%2"  [(set_attr "type" "veccomplex")]);; logical ops(define_insn "and<mode>3"  [(set (match_operand:VI 0 "register_operand" "=v")        (and:VI (match_operand:VI 1 "register_operand" "v")                (match_operand:VI 2 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vand %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "ior<mode>3"  [(set (match_operand:VI 0 "register_operand" "=v")        (ior:VI (match_operand:VI 1 "register_operand" "v")                (match_operand:VI 2 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vor %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "xor<mode>3"  [(set (match_operand:VI 0 "register_operand" "=v")        (xor:VI (match_operand:VI 1 "register_operand" "v")                (match_operand:VI 2 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vxor %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "xorv4sf3"  [(set (match_operand:V4SF 0 "register_operand" "=v")        (xor:V4SF (match_operand:V4SF 1 "register_operand" "v")                  (match_operand:V4SF 2 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vxor %0,%1,%2"   [(set_attr "type" "vecsimple")])(define_insn "one_cmpl<mode>2"  [(set (match_operand:VI 0 "register_operand" "=v")        (not:VI (match_operand:VI 1 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vnor %0,%1,%1"  [(set_attr "type" "vecsimple")])  (define_insn "altivec_nor<mode>3"  [(set (match_operand:VI 0 "register_operand" "=v")        (not:VI (ior:VI (match_operand:VI 1 "register_operand" "v")                        (match_operand:VI 2 "register_operand" "v"))))]  "TARGET_ALTIVEC"  "vnor %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "andc<mode>3"  [(set (match_operand:VI 0 "register_operand" "=v")        (and:VI (not:VI (match_operand:VI 2 "register_operand" "v"))                (match_operand:VI 1 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vandc %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "*andc3_v4sf"  [(set (match_operand:V4SF 0 "register_operand" "=v")        (and:V4SF (not:V4SF (match_operand:V4SF 2 "register_operand" "v"))                  (match_operand:V4SF 1 "register_operand" "v")))]  "TARGET_ALTIVEC"  "vandc %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "altivec_vpkuhum"  [(set (match_operand:V16QI 0 "register_operand" "=v")        (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")                       (match_operand:V8HI 2 "register_operand" "v")]		      UNSPEC_VPKUHUM))]  "TARGET_ALTIVEC"  "vpkuhum %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkuwum"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")                      (match_operand:V4SI 2 "register_operand" "v")]		     UNSPEC_VPKUWUM))]  "TARGET_ALTIVEC"  "vpkuwum %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkpx"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")                      (match_operand:V4SI 2 "register_operand" "v")]		     UNSPEC_VPKPX))]  "TARGET_ALTIVEC"  "vpkpx %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkshss"  [(set (match_operand:V16QI 0 "register_operand" "=v")        (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")                       (match_operand:V8HI 2 "register_operand" "v")]		      UNSPEC_VPKSHSS))   (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]  "TARGET_ALTIVEC"  "vpkshss %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkswss"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")                      (match_operand:V4SI 2 "register_operand" "v")]		     UNSPEC_VPKSWSS))   (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]  "TARGET_ALTIVEC"  "vpkswss %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkuhus"  [(set (match_operand:V16QI 0 "register_operand" "=v")        (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")                       (match_operand:V8HI 2 "register_operand" "v")]		      UNSPEC_VPKUHUS))   (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]  "TARGET_ALTIVEC"  "vpkuhus %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkshus"  [(set (match_operand:V16QI 0 "register_operand" "=v")        (unspec:V16QI [(match_operand:V8HI 1 "register_operand" "v")                       (match_operand:V8HI 2 "register_operand" "v")]		      UNSPEC_VPKSHUS))   (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]  "TARGET_ALTIVEC"  "vpkshus %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkuwus"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")                      (match_operand:V4SI 2 "register_operand" "v")]		     UNSPEC_VPKUWUS))   (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]  "TARGET_ALTIVEC"  "vpkuwus %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vpkswus"  [(set (match_operand:V8HI 0 "register_operand" "=v")        (unspec:V8HI [(match_operand:V4SI 1 "register_operand" "v")                      (match_operand:V4SI 2 "register_operand" "v")]		     UNSPEC_VPKSWUS))   (set (reg:SI 110) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))]  "TARGET_ALTIVEC"  "vpkswus %0,%1,%2"  [(set_attr "type" "vecperm")])(define_insn "altivec_vrl<VI_char>"  [(set (match_operand:VI 0 "register_operand" "=v")        (unspec:VI [(match_operand:VI 1 "register_operand" "v")                    (match_operand:VI 2 "register_operand" "v")]		   UNSPEC_VRL))]  "TARGET_ALTIVEC"  "vrl<VI_char> %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "altivec_vsl<VI_char>"  [(set (match_operand:VI 0 "register_operand" "=v")        (unspec:VI [(match_operand:VI 1 "register_operand" "v")                    (match_operand:VI 2 "register_operand" "v")]		   UNSPEC_VSL))]  "TARGET_ALTIVEC"  "vsl<VI_char> %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "altivec_vslw_v4sf"  [(set (match_operand:V4SF 0 "register_operand" "=v")        (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")                      (match_operand:V4SF 2 "register_operand" "v")]		     UNSPEC_VSLW))]  "TARGET_ALTIVEC"  "vslw %0,%1,%2"  [(set_attr "type" "vecsimple")])(define_insn "altivec_vsl"  [(set (match_operand:V4SI 0 "register_operand" "=v")        (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v")                      (match_operand:V4SI 2 "register_operand" "v")]		     UNSPEC_VSLV4SI))]  "TARGET_ALTIVEC"  "vsl %0,%1,%2"  [(set_attr "type" "vecperm")])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -