+2015-11-16 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
+ 128-bit types, just types that fit in a single vector.
+ * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.
+
2015-11-16 David Wohlferd <dw@LimeGreenSocks.com>
* doc/md.texi ('#' and '*' constraint modifiers): Do not include these
(V2DI "")
(V2DF "")
(V1TI "")
- (KF "")
- (TF "")
- (IF "")])
+ (KF "FLOAT128_VECTOR_P (KFmode)")
+ (TF "FLOAT128_VECTOR_P (TFmode)")])
; Iterator for 128-bit VSX types for pack/unpack
(define_mode_iterator FMOVE128_VSX [V1TI KF])
(define_mode_iterator VSX_F [V4SF V2DF])
;; Iterator for logical types supported by VSX
-;; Note, IFmode won't actually be used since it isn't a VSX type, but it simplifies
-;; the code by using 128-bit iterators for floating point.
(define_mode_iterator VSX_L [V16QI
V8HI
V4SI
V1TI
TI
(KF "FLOAT128_VECTOR_P (KFmode)")
- (TF "FLOAT128_VECTOR_P (TFmode)")
- (IF "FLOAT128_VECTOR_P (IFmode)")])
+ (TF "FLOAT128_VECTOR_P (TFmode)")])
;; Iterator for memory move. Handle TImode specially to allow
;; it to use gprs as well as vsx registers.