# This work is licensed under the terms of the GNU LGPL, version 2 or later.
# See the COPYING.LIB file in the top-level directory.

# Diagnose field overlapping fixedbits w/format.
@format		........ ........ ........ ....... fld:1
insn		00000000 00000000 00000000 00000000		@format
